Bu Bash kılavuzu şunları söylüyor:
Dizin numarası @ veya * ise, bir dizinin tüm üyelerine başvurulur.
Bunu yaptığımda:
LIST=(1 2 3)
for i in "${LIST[@]}"; do
echo "example.$i "
done
Verir: example.1 example.2 example.3(istenen sonuç).
Ama kullandığımda bunun yerine ${LIST[*]}alıyorum example.1 2 3.
Neden?
Düzenleme: printf kullanırken, @ ve * aslında aynı sonuçları verir.
Benim örnek bu aslında sadece olur, yanlış
—
arjan
echodeğil ile, printfsadece fark.
olası yinelenen $ * ve $ arasındaki fark nedir @?
—
goldilocks
@goldilocks Diğer soru
—
Stéphane Chazelas
$*ve hakkındadır $@. Gerçi, cevap benzer olacak ve bir soru olabilir diğer bir alt kümesi olarak kabul edilmesi, farklı sorulardır.
echo $SHELLÇıkışı çalıştırın ve sorunuza yapıştırın.