Dar os argumentos de uma matriz é fácil, "${array[@]}"
se expande para as entradas da matriz como palavras distintas (argumentos). Nós só precisamos adicionar os -t
flags. Para fazer isso, podemos fazer o loop da primeira matriz e construir outra matriz para a lista completa de argumentos, adicionando as -t
flags à medida que avançamos:
#!/bin/bash
tabs=("first tab" "second tab")
args=()
for t in "${tabs[@]}" ; do
args+=(-t "$t")
done
app "${args[@]}"
Use "$@"
em vez de "${tabs[@]}"
para obter os argumentos da linha de comando do script em vez de uma lista codificada.