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 3
zamiast 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 $SHELL
i wklej wynik do swojego pytania.