Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1877763
  • 博文数量: 217
  • 博客积分: 4362
  • 博客等级: 上校
  • 技术积分: 4180
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-20 09:31
文章分类

全部博文(217)

文章存档

2017年(1)

2015年(2)

2014年(2)

2013年(6)

2012年(42)

2011年(119)

2010年(28)

2009年(17)

分类: LINUX

2010-07-30 08:39:23





Bash shell中的位置参数$#,$*,$@,$0,$1,$2...及特殊参数$?,$-等的含义

在Bash shell中经常会见到一些比较特殊的符号,本人现收集与此,以供查阅:

位置参数:
详见ABS(Advanced Bash Shell)中文翻译版103页第9章第一节内部变量,当然英文版ABS都一样啦

$0, $1, $2,等等...
位置参数,从 命令行传递给脚本,或者是传递给函数.或者赋职给一个变量.
(具体见Example 4-5 和Example 11-15)
$0表示当 前执行的进程名,script 本身的名字,或者在正则表达式中表示整行输出

$#
命令行或者是位置参数的个 数.(见Example 33-2)
$*
所 有的位置参数,被作为一个单词.
注意:"$*"必须被""引用.
$@
与$*同义,但是每个参数都是一个独立的""引用字串,这就意味着参数被完整地传递,
并没有被解释和扩 展.这也意味着,每个参数列表中的每个参数都被当成一个独立的单词.
注意:"$@"必须被
""引用.

其他的特殊参数
$-
传递给脚本的falg(使用set 命令).参考Example 11-15.
注意:这起初是 ksh 的特征,后来被引进到Bash 中,但不幸的是,在Bash 中它看上去也不
能可靠的工作.使用它的一个可能的方法就是让这个脚本进行自 我测试(查看是否是交
互的).
$!
在 后台运行的最后的工作的PID(进程ID).
$_
保 存之前执行的命令的最后一个参数.
$?
命 令,函数或者脚本本身的退出状态(见Example 23-7)
用于检查上一个命令,函数或者脚本执行是否正确。(在Linux中,命令退出状态 为0表示该命令正确执行,任何非0值表示命令出错。)
$$
脚 本自身的进程ID.这个变量经常用来构造一个"unique"的临时文件名.
(参考Example A-13,Example 29-6,Example 12-28 和Example 11-25).
这通常比调用mktemp 来得简单.
注意事项:
[1] 当前运行的脚本的PID 为$$.
[2] "argument"和"parameter"这两个单词经常不加区分的使用.在这整本书中,这两个
单词的意思完全相同.(在翻译的时候就未加 区分,统统翻译成参数)
阅读(1287) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~