Ten przewodnik Bash mówi:
Jeśli numerem indeksu jest @ lub *, odwołuje się do wszystkich elementów tablicy.
Kiedy to zrobię:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
Daje: example.1 example.2 example.3(pożądany wynik).
Ale kiedy używam ${LIST[*]}, dostaję example.1 2 3zamiast tego.
Dlaczego?
Edycja: podczas korzystania z printf, @ i * faktycznie dają te same wyniki.
echo, a nie z printf, właśnie zauważyłem.
$*i $@. Chociaż odpowiedź byłaby podobna, a jedno pytanie można uznać za podzbiór drugiego, są to różne pytania.
echo $SHELLi wklej wynik do swojego pytania.