$# 表示传递的参数个数 <注意, $# 在每调用命令shift 后这个值就会减一> $? 表示命令的返回值 $@ 表示所有参数,用空格隔开, 比如参数./test.sh 1 2 3 4, 那么$@="1 2 3 4" $* 基本同上 $n, 表示第n参数的值 n>=1, n=0 表示这个 脚本的名字, 如上$0 就是test.sh $@, $* 的值, 经过shift后, 都会去掉第一个参数, 如上经过一次shift 后, $@的值将变为“2 3 4”