$0 ---- 当前程序的名称,实际上是一个内部参数,不同于$1,$2....因为它必须有!
$# ---- 传递给程序的总的参数数目,也就是那个传说中的数组大小
$? ---- 上一个代码或者shell程序在shell中退出的情况,如果正常退出则返回0,反之为非0值。
$* ---- 传递给程序的所有参数组成的字符串。
$@ ---- 以"参数1" "参数2" ... 形式保存所有参数
$$ ---- 本程序的(进程ID号)PID
$! ---- 上一个命令的PID
命令行指令$ test.sh f1.c f2.c
脚本举例:
if [ $# -eq 0 ];then
echo "no arguments"
else
for args in $@
echo $args
fi
其中$#表示参数的个数,$@取到所有的参数值。