shell 脚本参数


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