<ก่อนหน้านี้ | Contents | ถัดไป>
การลบอาร์เรย์
หากต้องการลบอาร์เรย์ ให้ใช้คำสั่ง ยกเลิกการตั้งค่า คำสั่ง:
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef
[me@linuxbox ~]$ ยกเลิกการตั้งค่า foo
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
[me@linuxbox ~]$
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef
[me@linuxbox ~]$ ยกเลิกการตั้งค่า foo
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
[me@linuxbox ~]$
unset อาจใช้เพื่อลบองค์ประกอบอาร์เรย์เดียว:
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef
[me@linuxbox ~]$ ยกเลิกการตั้งค่า 'foo [2]' [me@linuxbox ~]$ เสียงสะท้อน ${foo[@]} abdef
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef
[me@linuxbox ~]$ ยกเลิกการตั้งค่า 'foo [2]' [me@linuxbox ~]$ เสียงสะท้อน ${foo[@]} abdef
ในตัวอย่างนี้ เราลบองค์ประกอบที่สามของอาร์เรย์ ตัวห้อย 2 จำไว้ว่า อาร์เรย์เริ่มต้นด้วยตัวห้อยศูนย์ ไม่ใช่หนึ่ง! โปรดสังเกตด้วยว่าองค์ประกอบอาร์เรย์ต้องถูกยกมาเพื่อป้องกันไม่ให้เชลล์ทำการขยายชื่อพาธ
ที่น่าสนใจ การกำหนดค่าว่างให้กับอาร์เรย์จะไม่ทำให้เนื้อหาว่างเปล่า:
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ ฟู= [me@linuxbox ~]$ เสียงสะท้อน ${foo[@]} bcdef
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ ฟู= [me@linuxbox ~]$ เสียงสะท้อน ${foo[@]} bcdef
การอ้างอิงถึงตัวแปรอาร์เรย์ที่ไม่มีตัวห้อยหมายถึงองค์ประกอบศูนย์ของอาร์เรย์:
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef [me@linuxbox ~]$ ฟู=เอ
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
bcdef
[me@linuxbox ~]$ foo=(abcdef)
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
abcdef [me@linuxbox ~]$ ฟู=เอ
[me@linuxbox ~]$ เสียงสะท้อน ${foo[@]}
bcdef