shell复习笔记----命令与参数
shell最基本的工作就是执行命令.
每键入一道命令, shell 就会执行.
$cd work;ls -l whizprog.c
首先:格式很简单,以空白(Space 键或者 Tab键)隔开命令行中的各个组成部分.
其次,命令名称是命令行的第一个项目.通常后面会跟着选项(option),任何额外的参数(argument)都会放在选项之后
第三,选项的开头是一个破折号(或减号),后面接着一个字母.选项可有可无,有可能需要加上参数.不需要参数的选项可以合并.
$ ls -lt whizprog.c
长选项前面是一个破折号还是两个破折号视程序而定.两个破折号(--)表示选项结尾的用法.
$ cd whizprog-1.1
$patch --verbose --backup -p1</tmp/whizprog-1.1-1.2-patch
最后说明,分号(;)可用来分割同一行里的多条命令.shell 会一次执行这些命令.如果使用了&符号而不是;,则 shell 将在后台执行其前面的命令,这意味着 shell 不用等该命令完成,就可以继续下一条命令.
shell 识别三种基本的命令:
- 内建命令:由 shell 本身所执行饿名理工.
- shell 函数:是功能健全的一系列程序代码,以 shell 语言写成,它们可以像命令那样引用.
- 外部命令:外部命令就是由 shell 的副本(新的进程)所执行的命令,基本过程如下:
- 建立一个新的进程.此进程即位 shell 的一个副本.
- 在新的进程里,在 path 变量内所列出的目录中,寻找特定的命令.
/bin:/usr/bin:/usr/x11r6/bin/usr/local/bin
为 path 变量典型的默认值.当命令含有斜杠(/)符号时,将掠过路径查找步骤.
- 在新的进程里,以所找到的新程序取代执行中的 shell 程序并执行.
- 程序完成后,最初的 shell 会接着从终端读取的下一条命令,或执行脚本里面的下一条命令.
shell复习笔记----命令与参数的更多相关文章
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
特殊变量列表 变量 含义 $0 当前脚本的文件名 $n 传递给脚本或函数的参数.n 是一个数字,表示第几个参数.例如,第一个参数是$1,第二个参数是$2. $# 传递给脚本或函数的参数个数. $* 传 ...
- Linux Shell 05 位置变量(命令行参数)
在Linux shell 脚本中可能会用到一些命令行参数,常见如下: $0:脚本名称 $#:执行脚本时传入的参数个数,不包括脚本名称 $@:所有参数 $*:所有参数 $1...$9:第1个参数.... ...
- 【Shell脚本学习8】Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运 ...
- 【转】shell 教程——07 Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid,看下面的代码: $echo $$ 运 ...
- linux bash Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
在linux下配置shell参数说明 前面已经讲到,变量名只能包含数字.字母和下划线,因为某些包含其他字符的变量有特殊含义,这样的变量被称为特殊变量. 例如,$ 表示当前Shell进程的ID,即pid ...
- golang学习笔记 ---命令行参数
os 包以跨平台的方式,提供了一些与操作系统交互的函数和变量.程序的命令行参数可从os包的Args变量获取:os包外部使用os.Args访问该变量. os.Args变量是一个字符串(string)的切 ...
- [笔记] 命令行参数 int main(int argc,char *argv[])
int main(int argc,char *argv[]) // argument count 变量个数 argument values 变量值 C程序的main函数有两个形参* argc:整数, ...
- shell复习笔记----查找与替换
查找文档 以grep 程序查找文本(匹配文本 matching text)相当方便.传统上有三种程序可以用来查找整个文本文件. grep 最早的文本匹配程序.其最简单的方式就是使用固定字符串 $ wh ...
- shell复习笔记----用户管理
$ who 可以知道系统上有多少登陆 $who |wc -l 计算用户个数 注意:|是管道符号,可以在两个程序之间建立管道(pipeline):who 的输出,成了 wc 的输入, wc 所列出 ...
随机推荐
- Linux free字段解析
下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free Output).例如: FO[2][1] = 24677460 FO[3][2 ...
- NVelocity 实现简单的留言板
留言版简单实现 -------------------------------------------------------------------------------------------- ...
- 媒体查询的应用以及在css3中的变革
CSS一直都支持设置与媒体相关联的样式表.它们可以适应不同媒体类型的显示.例如,文档在屏幕显示时使用sans-serif字体,在打印时则使用serif字体.screen和print是两种预定义的媒体类 ...
- 解决MS Office下载网站数据失败的问题
最近遇到在MS Excel中建立的Web Query在创建完成后过了一段时间(或关闭文件后再次打开文件并刷新数据)出现无法刷新的问题,点击刷新时报错如下: 无法下载您要求的信息. 这是一个很不友好的报 ...
- NPOI读取Excel表格类
public class NPOIHelper { private HSSFWorkbook workbook; public static IWorkbook Lo ...
- 每天一道LeetCode--237.Delete Node in a Linked List
Write a function to delete a node (except the tail) in a singly linked list, given only access to th ...
- Annotation注解与butterknife
注解分为三种,一般来讲我们使用的是运行时会加载及能够反射读取的注解类型, 其他编译器生效的类型和编译后放入类文件而运行期不能加载解析的对我们没啥用. 所以从普通理解上来看,注解要配合着反射用就好了. ...
- android 获取前台进程
String getTopActivity() { ActivityManager manager = (ActivityManager)getSystemService(ACTIVITY_SERVI ...
- Cocos开发中Visual Studio下libcurl库开发环境设置
我们介绍一下win32中Visual Studio下libcurl库开发环境设置.Cocos2d-x引擎其实已经带有为Win32下访问libcurl库,Cocos2d-x 3.x中libcurl库文件 ...
- JavaScript学习笔记(12)——JavaScript自定义对象
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...