อาร์เรย์คือการรวบรวมขององค์ประกอบต่างๆ ใน Bash อาร์เรย์สามารถประกอบด้วยองค์ประกอบที่มีชนิดข้อมูลผสมกันได้ เช่น สตริงและตัวเลข
ในบทช่วยสอนนี้ เราจะพูดถึงวิธีสร้างและใช้งานอาร์เรย์ใน Bash รวมถึงการดำเนินการกับอาร์เรย์ เช่น การวนลูป การพิมพ์ การหาขนาด และการแก้ไขเนื้อหา
วิธีสร้างอาร์เรย์ใน Bash
มีสองวิธีในการสร้างอาร์เรย์ Bash:
การใช้คีย์เวิร์ด declare
declare -a my_bash_array
คำสั่งนี้จะสร้างอาร์เรย์แบบดัชนี (indexed array) ชื่อ "my_bash_array"
การเริ่มต้นอาร์เรย์
เราสามารถสร้างและเริ่มต้นอาร์เรย์ได้ทันทีโดยใช้ตัวดำเนินการกำหนดค่า = และองค์ประกอบภายในวงเล็บปีกกา ():
my_bash_array=("apple" "orange" "banana")
หรือเราสามารถระบุดัชนีได้อย่างชัดเจน:
my_bash_array[0]="apple" my_bash_array[1]="orange" my_bash_array[2]="banana"
หมายเหตุ: ไม่ควรมีช่องว่างทั้งสองข้างของตัวดำเนินการ =
ความยาวของอาร์เรย์ Bash
เพื่อหาความยาวหรือขนาดของอาร์เรย์ เราใช้ ${#array_name[@]}
ตัวอย่าง:
my_bash_array=(foo bar baz)
echo "the array contains ${#my_bash_array[@]} elements"
# ผลลัพธ์: the array contains 3 elements
การวนลูปอาร์เรย์ Bash
เพื่อวนลูปผ่านทุกองค์ประกอบในอาร์เรย์ Bash เราสามารถใช้ for loop ได้:
#!/bin/bash
my_array=(foo bar baz)
# for loop ที่วนลูปผ่านแต่ละองค์ประกอบ
for i in "${my_array[@]}"
do
echo $i
done
ผลลัพธ์:
foo
bar
baz
การพิมพ์องค์ประกอบทั้งหมด
เพื่อพิมพ์องค์ประกอบทั้งหมดของอาร์เรย์โดยไม่ต้องใช้ลูป เราสามารถใช้ไวยากรณ์ดังนี้:
echo ${my_array[@]}
การเพิ่มองค์ประกอบลงในอาร์เรย์
เพื่อเพิ่มองค์ประกอบลงในอาร์เรย์ เราใช้ตัวดำเนินการ += ซึ่งจะนำองค์ประกอบไปต่อท้ายอาร์เรย์
ตัวอย่าง:
my_array=(foo bar)
my_array+=(baz)
echo "${my_array[@]}"
# foo bar baz
หรือเราสามารถใช้ดัชนีในการเพิ่มองค์ประกอบได้:
my_array=(foo bar)
my_array[2]=baz
echo "${my_array[@]}"
# foo bar baz
การลบองค์ประกอบออกจากอาร์เรย์
เพื่อลบองค์ประกอบออกจากอาร์เรย์ Bash เราใช้คำสั่ง unset
ตัวอย่าง:
my_array=(foo bar baz)
unset my_array[1]
echo ${my_array[@]}
# foo baz
สรุป
ในบทช่วยสอนนี้ เราได้ครอบคลุมเรื่องอาร์เรย์ใน Bash ได้แก่ การสร้างและเริ่มต้นอาร์เรย์ วิธีหาความยาว การวนลูปผ่านองค์ประกอบ การพิมพ์องค์ประกอบ และการแก้ไขเนื้อหาของอาร์เรย์