在Shell中,预先定义了几个有特殊含义的Shell变量,它们的值只能由Shell根据实际情况进行赋值,而不能通过用户重新设置。下面给出这些特殊变量的表示形式及意义:
$# 命令行上实际参数的个数,但不包含Shell脚本名。
$?上一条命令执行后的返回值(也称作 “退出码”)。它是一个十进制数。多数Shell命令执行成功时,则返回值为0;如果执行失败,则返回非0值。
$$ 当前进程的进程号。
$! 上一个后台命令对应的进程号,这是一个由1~5位数字构成的数字串。
$- 由当前Shell设置的执行标志名组成的字符串。例如:
set -xv
这个命令行给Shell设置了标志-x和-v(用于跟踪输出)。
$* 表示在命令行中实际给出的所有实参字符串,它并不仅限于9个实参。
$ @ 它与$*基本功能相同,但“$@”与“$*”不同。
yzn3831 于 2008-04-10 10:30:35发表:
这些符号的使用有没有什么限制的啊??例如$#预定义输入,输入的数值大小有没有限制的啊 ?