Передача второго аргумента из сценария оболочки в Java

Если я передаю любое количество аргументов в сценарий оболочки, который вызывает внутреннюю программу Java, как я могу передать второй аргумент программе Java, кроме первого?

./my_script.sh abcd....

#my_script.sh
...
java MyApp b c d ...

2 ответа

Первое использование shift "потребить" первый аргумент, затем передать "$@"список оставшихся аргументов:

#my_script.sh
...
shift
java MyApp "$@"

Вы можете передать второй аргумент и без использования "shift".

set -- 1 2 3 4 5

echo "${@:0}"
echo "${@:1}"
echo "${@:2}"   # here
Другие вопросы по тегам