位置参数 | 描述 |
---|---|
$n |
n为数字,$0代表命令本身,$1〜$9代表第1〜9个参数,10以上的参数需要用大括号包含, 如${10} |
$* |
这个变量代表命令行中所有的参数,把所有的参数看成一个整体 |
$@ |
这个变量也代表命令行中所有的参数,不过$@把每个参数区别对待 |
$# |
这个变量代表命令行中所有参数的个数 |
shift 命令
shift命令
可以让你向左移动位置参数。如果你执行命令:
shift
那么之前保存在$2
中的内容会分配给$1
,保存在$3
中的内容会分配给$2
,以此类推。而$1
中的旧值也就丢失了。执行该命令时,$#(变量总数)
的值也会自动减1。
如果在没有位置参数可移动的情况下(也就是当$#
已经为 0 的时候)使用shift
,Shell
会发出错误信息:
prog: shift: bad number
其中,prog
是执行了不当的shift命令
的程序名。
你可以在shift
之后加上一个量词,一次移动多个位置,例如:
shift 3
该命令等价于下面的多个 shift 命令:
shift
shift
shift
在处理可变数量参数的时候,shift命令
大有帮助。