Как пропустить первый аргумент в [email protected]? Мой код: #!/bin/bash for i in [email protected]; do echo $i; done; запустить script: # ./script 1 2 3 1 2 3 Итак, я хочу пропустить первый аргумент и получить: # ./script 1 2 3 2 3 Ответ 1 Используйте расширение параметра смещения #!/bin/bash for i in "${@:2}"; do echo $i done Пример $ func(){ for i in "${@:2}"; do echo "$i"; done;}; func one two three two three Ответ 2 Используйте команду shift: FIRST_ARG="$1" shift REST_ARGS="[email protected]" Ответ 3 Посмотрите Развертывание параметров в man-странице bash. #/bin/bash for i in "${@:2}" do echo $i done Ответ 4 У вас может быть просто переменная, проверяющая, является ли это первым аргументом с чем-то вроде этого (untested): #!/bin/bash FIRST=1 for i in [email protected] do if [ FIRST -eq 1 ] then FIRST=0 else echo $i fi done
Ответ 1 Используйте расширение параметра смещения #!/bin/bash for i in "${@:2}"; do echo $i done Пример $ func(){ for i in "${@:2}"; do echo "$i"; done;}; func one two three two three
Ответ 3 Посмотрите Развертывание параметров в man-странице bash. #/bin/bash for i in "${@:2}" do echo $i done
Ответ 4 У вас может быть просто переменная, проверяющая, является ли это первым аргументом с чем-то вроде этого (untested): #!/bin/bash FIRST=1 for i in [email protected] do if [ FIRST -eq 1 ] then FIRST=0 else echo $i fi done