Este guia do Bash diz:
Se o número do índice for @ ou *, todos os membros de uma matriz serão referenciados.
Quando eu faço isso:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
Dá: example.1 example.2 example.3
(resultado desejado).
Mas quando eu uso ${LIST[*]}
, eu entendo example.1 2 3
.
Por quê?
Editar: ao usar printf, @ e * realmente dão os mesmos resultados.
Meu exemplo estava errado, isso realmente acontece apenas com
—
arjan
echo
, não com printf
, acabei de perceber.
possível duplicata de Qual é a diferença entre $ * e $ @?
—
Goldilocks
@goldilocks A outra pergunta é sobre
—
Stéphane Chazelas
$*
e $@
. Embora a resposta seja semelhante e uma pergunta possa ser considerada um subconjunto da outra, são perguntas diferentes.
echo $SHELL
e cole o resultado na sua pergunta.