Questa guida di Bash dice:
Se il numero indice è @ o *, viene fatto riferimento a tutti i membri di un array.
Quando faccio questo:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
Dà: example.1 example.2 example.3(risultato desiderato).
Ma quando uso ${LIST[*]}, ottengo example.1 2 3invece.
Perché?
Modifica: quando si utilizza printf, @ e * forniscono effettivamente gli stessi risultati.
echo, non con printf, ho appena notato.
$*e $@. Tuttavia, la risposta sarebbe simile e una domanda potrebbe essere considerata un sottoinsieme dell'altra, sono domande diverse.
echo $SHELLe incolla l'output sulla tua domanda.