这篇文章上次修改于 419 天前,可能其部分内容已经发生变化,如有疑问可询问作者。

变量解释

$$    获取当前shell的进程号(pid)
$!    执行上一个指令的pid,上一个后台运行进程的进程号
$?    获取执行上一个指令的返回值(0为成功,非零为失败)
$_    在此之前执行的命令(上一个命令)或脚本的最后一个参数

$0    获取当前执行的shell脚本的文件名
$n    获取当前执行的shell脚本的第n个参数值
$*    获取当前shell的所有参数 , $1 $2 $3 ....
$#    获取当前shell命令行中参数的总个数: 3
$@    获取当前shell的所有参数, 不加双引号"" 结果和$* 一样,所有参数都是一整份,$1,$2,$3,...,  加上双引号"", "$@" 则返回的是一个数组, ($1 $2 $3 ...)

$()   在括号中执行命令,并返回执行的结果
``    在反引号中执行命令,并返回结果,效果和$()一样
()    开启子shell执行命令