Linux中$#,$0,$1,$2,$@,$*,$$,$? 的含义
-
$#
是传给脚本的参数个数 -
$0
是脚本本身的文件名 -
$1
是脚本后接的第一个参数 -
$2
是脚本后接的第二个参数 -
$@
是传给脚本的所有参数列表,"$1" "$2" "$3" … "$n" -
$*
是以一个单字符串显示传给脚本的所有参数,"$1 $2 $3 … $n" -
$$
是脚本运行的当前进程 ID 号 -
$?
是最后运行命令的结束状态码,0 表示没有错误,其他表示有错误 -
shift 造成参数变量号码偏移,第二个参数变为 $1,以此类推。