echo '-- $# 参数个数 \t\t' $#
echo '-- $0 执行脚本名 \t' $0
echo '-- $1 脚本第一个参数 \t' $1
echo '-- $$ 脚本进程ID \t' $$
echo '-- $? 脚本执行状态(0表示没有错误,其他任何值表明有错误) \t' $?
echo '-- $*' $*
echo '-- $@' $@
echo '$* 与 $@ 区别:'
echo '\t相同点:都是引用所有参数。'
echo '\t不同点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 p1, p2, p3,,则 " * " 等价于 "p1 p2 p3"(传递了一个参数),而 "@" 等价于 "p1" "p2" "p3"(传递了三个参数)'
echo '\t\t-- $* 单字符显示所有传递参数参数: for i in "$*"; do echo $i done'
for i in "$*"; do
echo '\t' $i
done
echo '\t\t-- $@ 参数以数组形式存在:for i in "$@"; do echo $i done'
for i in "$@"; do
echo '\t' $i
done