特殊变量 说明 备注
$! Shell最后运行的后台Process的PID(后台运行的最后一个进程的进程ID号)
$# shell脚本传入参数的个数
$$ Shell本身的PID(ProcessID,即脚本运行的当前进程ID号)
$0 脚本本身的文件名
$1 传到Shell当中的第一个参数 以此类推$2 $3…$n
$* 所有参数列表 如$*用 " " 括起来的情况,以 " $1 $2 … $n " 的形式输出所有参数为一个整体,若不加" ",那么$*与$@的输出结果相同
$@ 所有参数列表 如$@用 " " 括起来的情况、以 " $1 " 、" $2 "、 … " $n " 的形式单独输出所有参数
$# 传给脚本的参数个数
$$ 脚本自己的PID号
$0 脚本自身的名字
${#变量名} 可统计变量长度

$@与$*的区别:

$@与$*都可以使用一个变量来来表示所有的参数内容,但这两个变量之间有一些不同之处。

" $*":将输入的所有参数作为一个变量

" $@":将输入的所有参数作为一个列表对象

使用$@与$*是,都是用双引号引起来,但当$*不使用双引号时,结果与$@的结果相同。