<ก่อนหน้านี้ | Contents | ถัดไป>
การส่งออกเนื้อหาทั้งหมดของอาร์เรย์
ตัวห้อย * และ @ สามารถใช้เพื่อเข้าถึงทุกองค์ประกอบในอาร์เรย์ เช่นเดียวกับพารามิเตอร์ตำแหน่ง @ สัญกรณ์มีประโยชน์มากกว่าของทั้งสอง นี่คือการสาธิต:
[me@linuxbox ~]$ สัตว์ = ("สุนัข" "แมว" "ปลา") [me@linuxbox ~]$ สำหรับฉันใน ${animals[*]}; ทำ echo $i; เสร็จแล้ว a
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน ${animals[@]}; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน "${animals[*]}"; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน "${animals[@]}"; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
[me@linuxbox ~]$ สัตว์ = ("สุนัข" "แมว" "ปลา") [me@linuxbox ~]$ สำหรับฉันใน ${animals[*]}; ทำ echo $i; เสร็จแล้ว a
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน ${animals[@]}; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน "${animals[*]}"; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
[me@linuxbox ~]$ สำหรับฉันใน "${animals[@]}"; ทำ echo $i; เสร็จแล้ว
หมา แมว ปลา
เราสร้างอาร์เรย์ สัตว์ และกำหนดสตริงสองคำสามคำ จากนั้นเราดำเนินการสี่ลูปเพื่อดูผลกระทบของการแยกคำในเนื้อหาอาร์เรย์ พฤติกรรมของสัญกรณ์ $
{animals[*]} และ ${animals[@]} จะเหมือนกันจนกว่าจะมีการเสนอราคา สัญกรณ์ * ให้ผลลัพธ์เป็นคำเดียวที่มีเนื้อหาของอาร์เรย์ ในขณะที่สัญกรณ์ @ ให้ผลลัพธ์เป็นสตริงสองคำสามคำ ซึ่งตรงกับเนื้อหา "จริง" ของอาร์เรย์