Цей посібник Баша говорить:
Якщо номер індексу є @ або *, посилаються всі члени масиву.
Коли я це роблю:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
Дає: example.1 example.2 example.3
(бажаний результат).
Але коли я використовую ${LIST[*]}
, я отримую example.1 2 3
замість цього.
Чому?
Редагувати: при використанні printf, @ і * насправді дають однакові результати.
Мій приклад був неправильним, це насправді відбувається лише з
—
arjan
echo
, а не з printf
, я щойно помітив.
можливий дублікат Чому різниця між $ * і $ @?
—
goldilocks
@goldilocks Інше питання стосується
—
Stéphane Chazelas
$*
і $@
. Хоча відповідь була б схожа, і одне питання можна вважати підмножиною іншого, але це різні питання.
echo $SHELL
і вставте висновок до свого питання.