$0 : 输出函数或脚本的名字
$n : 输出函数或脚本的第n个参数
$$ :输出当前shell所属的pid ,可通过这个命令获取shell运行时的pid
$# :输出函数或脚本的输入参数个数
$@ :输出函数或脚本的输入参数
$* :输出函数或脚本的输入参数
$* 和 $@ 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。
但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"$@" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。
脚本中遍历参数的应用
echo "script begin...."
echo "script name:" $0
echo "script pid:" $$
echo "param size:" $#
echo "params:$@"
echo "params:$*"
echo '$@方式'
for loop in "$@"
do
echo "..."
echo $loop
done
echo 'while方式'
while [ $# != 0 ]
do
echo "..."
echo $1
shift #左移,第二个参数变为第一个
done