我想迭代shell中的参数列表,我知道如何做到这一点
for var in $@
但是我想要这样做
for ((i=3; i<=$#; i++))
我需要这个,因为前两个参数不会进入循环。 任何人都知道如何做到这一点? 期待你的帮助。
程
这可能有助于:
for var in "${@:3}"
欲了解更多信息,你可以看看:
http://www.ibm.com/developerworks/library/l-bash-parameters/index.html
reader_1000提供了一个很好的bash咒语 ,但是如果你使用的是较老的(或者更简单的)Bourne shell,你可以使用吱吱作响的古代(因此是高度便携的)
VAR1=$1 VAR2=$2 shift 2 for arg in "$@" ...
虽然这是一个老问题,但还有另一种方法可以做到这一点。 而且,也许这就是你所要求的。
for(( i=3; i<=$#; i++ )); do echo "parameter: ${!i}" #Notice the exclamation here, not the $ dollar sign. done