Shell 中预先定义的特殊变量

字体: | 打印

在Shell中,预先定义了几个有特殊含义的Shell变量,它们的值只能由Shell根据实际情况进行赋值,而不能通过用户重新设置。下面给出这些特殊变量的表示形式及意义:

$# 命令行上实际参数的个数,但不包含Shell脚本名。

$?上一条命令执行后的返回值(也称作 “退出码”)。它是一个十进制数。多数Shell命令执行成功时,则返回值为0;如果执行失败,则返回非0值。

$$ 当前进程的进程号。

$! 上一个后台命令对应的进程号,这是一个由1~5位数字构成的数字串。

$- 由当前Shell设置的执行标志名组成的字符串。例如:

set -xv



这个命令行给Shell设置了标志-x和-v(用于跟踪输出)。

$* 表示在命令行中实际给出的所有实参字符串,它并不仅限于9个实参。

$ @ 它与$*基本功能相同,但“$@”与“$*”不同。