我想迭代shell中的参数列表,我知道如何用
执行此操作for var in $@
但我想用
做这件事for ((i=3; i<=$#; i++))
我需要这个,因为前两个参数不会进入循环。谁知道怎么做?期待你的帮助。
成
答案 0 :(得分:10)
这可能会有所帮助:
for var in "${@:3}"
有关详细信息,请查看:
http://www.ibm.com/developerworks/library/l-bash-parameters/index.html
答案 1 :(得分:4)
reader_1000 provides a nice bash incantation,但是如果你使用的是旧的(或更简单的)Bourne shell,你可以使用古老的吱吱声(因此非常便携)
VAR1=$1
VAR2=$2
shift 2
for arg in "$@"
...
答案 2 :(得分:1)
虽然这是一个老问题,但还有另一种方法可以做到这一点。而且,也许这就是你要求的。
for(( i=3; i<=$#; i++ )); do
echo "parameter: ${!i}" #Notice the exclamation here, not the $ dollar sign.
done