Bash: ¿Cómo paso parámetros usando una matriz?

Bash: ¿Cómo paso parámetros usando una matriz?

Estoy intentando ejecutar un programa con muchos parámetros de la siguiente manera:

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

¿Cómo debo crear un comando de este tipo en las secuencias de comandos del shell Bash?

Respuesta1

Si desea crear una serie de argumentos:

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

También puedes agregar el comando a la matriz:

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

O si agrega sus parámetros uno tras otro, podría hacer algo como

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

información relacionada