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 所列出 ...
随机推荐
- Ionic条码扫描
http://m.blog.csdn.net/article/details?id=45843819
- Unity3d,OnMouseDown()不执行的原因总结
1.代码:看代码有没有附加上要点击的物体上: 2.碰撞:要点击的物体加了碰撞,位置大小都对:而且鼠标屏幕点击的点和它之间没有其他的碰撞遮挡(OnMouseDown()原理利用了射线): 3.相关的摄像 ...
- sql常识-SQL 通配符
在搜索数据库中的数据时,您可以使用 SQL 通配符. SQL 通配符 在搜索数据库中的数据时,SQL 通配符可以替代一个或多个字符. SQL 通配符必须与 LIKE 运算符一起使用. 在 SQL 中, ...
- zookeeper启动报错(数据目录权限不对)
zookeeper启动报错日志: 2016-11-16 11:19:43,880 [myid:3] - INFO [WorkerReceiver[myid=3]:FastLeaderElection@ ...
- Java之趣味编程结婚问题
问题如下:判断结婚的组合对数数.定义: 好三位新郎为 A,B,C ;三位新娘为X,Y,Z 有人想要知道他们谁和谁结婚 ,于是问了其中的三位. 回答是这样的:A说他将和X结婚 :X说她的未婚夫是C ;C ...
- orcale 循环插入 测试数据
以前开发一直用的是sql server 定义临时变量 循环插入数据到表中已经成为一种固定的模式,本来想orcale应该也一样吧 都是数据库.. 结果被现实无情的打击到了.在网上找办法,求大神 最后 ...
- 更换免开发证书账号出现的Your build settings specify a provisioning profile with the UUID"",however,no such provisioning profile was found
更换了免费的个人开发者账号后会出现这个错误 解决方法:在Finder中右键打开工程文件(显示包内容),用文本编辑器打开后缀名为.pbxproj的文件,command+f 搜索"PROVISI ...
- 用sinopia搭建npm私服
需求(这段话是摘抄参考文档的,因为作者也想这么说): 公司出于自身隐私保护需要,不想把自己的代码开源到包管理区,但是又急需一套完整包管工具,来管理越来越多的组件.模块和项目.对于前端,最熟悉的莫过于n ...
- css3学习笔记之渐变
CSS3 线性渐变 语法 background: linear-gradient(direction, color-stop1, color-stop2, ...); 1 2 3 4 5 6 7 8 ...
- html5笔记
出处:http://www.cnblogs.com/xiaowei0705/archive/2011/04/19/2021372.html HTML5 LocalStorage 本地存储 HTML5 ...