Я хочу перебрать список аргументов в оболочке, я знаю, как это сделать с
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, вы можете использовать скрипящий древний (и, следовательно, очень портативный)
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