shell 中的$0 $1 $* $@ $# $$ $? $() $(())
$0: 脚本本身文件名称 $1: 命令行第一个参数,$2为第二个,以此类推 $*: 所有参数列表 $@: 所有参数列表 $#: 参数个数 $$: 脚本运行时的PID $?: 脚本退出码∗与@的区别
当命令行为test.sh 1 2 3
$* 表示: "1 2 3"
$@ 表示: "1" "2" "3"
二者没有被引号括起来时是一样的都为"1 2 3",只有当被引号括起来后才表现出差异
$() 等同于: ··(反引号):运行一段命令
$(()) 进行数字运算
# a=3;b=2;c=5
# echo $((a+b*c))