Bash — как передать параметры с помощью массива?

Bash — как передать параметры с помощью массива?

Я пытаюсь запустить программу со многими параметрами следующим образом:

./some-program -c 1 -c 2 -c 3 ...

Как создать такую ​​команду в скрипте оболочки Bash?

решение1

Если вы хотите построить массив аргументов:

args=(-c 1 -c 2 -c 3)
./some-program "${args[@]}"

Вы также можете добавить команду в массив:

args=(./some-program -c 1 -c 2 -c 3)
"${args[@]}"

Или если вы добавляете параметры один за другим, вы можете сделать что-то вроде

args=()
args+=(-c)
args+=(1)
args+=(-c 2)
args+=(-c 3)
./some-program "${args[@]}"

Связанный контент