Bash - 如何使用数组传递参数?

Bash - 如何使用数组传递参数?

我正在尝试运行一个具有许多参数的程序,如下所示:

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

我应该如何在 Bash shell 脚本中创建这样的命令?

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

相关内容