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[@]}"

関連情報