สคริปต์ทุบตีมอบวิธีที่สะดวกในการทำให้งานบรรทัดคำสั่งเป็นแบบอัตโนมัติ
ด้วย Bash คุณสามารถทำสิ่งเดียวกันกับที่คุณทำในภาษาสคริปต์หรือภาษาโปรแกรมอื่นๆ ได้ คุณสามารถสร้างและใช้ตัวแปร ดำเนินการวนซ้ำ ใช้ตรรกะตามเงื่อนไข และจัดเก็บข้อมูลในอาร์เรย์
แม้ว่าฟังก์ชันการทำงานอาจคุ้นเคยดี แต่ไวยากรณ์ของ Bash ก็อาจเป็นเรื่องยาก ในบทความนี้ คุณจะได้เรียนรู้วิธีประกาศอาร์เรย์และวิธีการใช้อาร์เรย์ในโค้ดของคุณ
วิธีการประกาศอาร์เรย์ใน Bash
การประกาศอาร์เรย์ใน Bash นั้นง่าย แต่ให้ใส่ใจกับไวยากรณ์ หากคุณคุ้นเคยกับการเขียนโปรแกรมในภาษาอื่น โค้ดอาจดูคุ้นเคย แต่ก็มีความแตกต่างเล็กน้อยที่พลาดได้ง่าย
ในการประกาศอาร์เรย์ของคุณ ให้ทำตามขั้นตอนเหล่านี้:
- ตั้งชื่ออาร์เรย์ของคุณ
- ตามด้วยชื่อตัวแปรนั้นด้วยเครื่องหมายเท่ากับ เครื่องหมายเท่ากับ ไม่ควร มีพื้นที่รอบๆ
- ใส่อาร์เรย์ใน วงเล็บ (ไม่ใช่วงเล็บเหมือนใน JavaScript)
- พิมพ์สตริงของคุณโดยใช้เครื่องหมายคำพูด แต่ ไม่มีเครื่องหมายจุลภาค ระหว่างพวกเขา
การประกาศอาร์เรย์ของคุณจะมีลักษณะดังนี้:
myArray=("cat" "dog" "mouse" "frog)
แค่นั้นแหละ! มันง่ายมาก
วิธีเข้าถึง Array ใน Bash
มีหลายวิธีในการวนซ้ำอาร์เรย์ของคุณ คุณจะวนรอบองค์ประกอบเองหรือวนรอบดัชนีก็ได้
วิธีการวนรอบองค์ประกอบอาร์เรย์
ในการวนรอบองค์ประกอบอาร์เรย์ โค้ดของคุณจะต้องมีลักษณะดังนี้:
for str in ${myArray[@]}; do
echo $str
done
หากต้องการแยกย่อย:คล้ายกับการใช้ forEach
ในจาวาสคริปต์ สำหรับแต่ละสตริง (str) ในอาร์เรย์ (myArray) ให้พิมพ์สตริงนั้น
ผลลัพธ์ของลูปนี้มีลักษณะดังนี้:
cat
dog
mouse
frog
หมายเหตุ :@
สัญลักษณ์ในวงเล็บเหลี่ยมแสดงว่าคุณกำลังวนซ้ำ ทั้งหมด ขององค์ประกอบในอาร์เรย์ หากคุณทิ้งสิ่งนั้นไว้และเพียงแค่เขียน for str in ${myArray}
จะพิมพ์เฉพาะสตริงแรกในอาร์เรย์เท่านั้น
วิธีการวนรอบดัชนีอาร์เรย์
หรือคุณสามารถวนซ้ำผ่านดัชนีของอาร์เรย์ได้ นี้เป็นเหมือน for
วนซ้ำใน JavaScript และมีประโยชน์เมื่อคุณต้องการเข้าถึงดัชนีของแต่ละองค์ประกอบ
หากต้องการใช้วิธีนี้ โค้ดของคุณจะต้องมีลักษณะดังนี้:
for i in ${!myArray[@]}; do
echo "element $i is ${myArray[$i]}"
done
ผลลัพธ์จะเป็นดังนี้:
element 0 is cat
element 1 is dog
element 2 is mouse
element 3 is frog
หมายเหตุ :เครื่องหมายอัศเจรีย์ที่จุดเริ่มต้นของ myArray
ตัวแปรระบุว่าคุณกำลังเข้าถึง ดัชนี ของอาร์เรย์และไม่ใช่องค์ประกอบเอง สิ่งนี้อาจสร้างความสับสนได้หากคุณคุ้นเคยกับเครื่องหมายอัศเจรีย์ที่แสดงการปฏิเสธ ดังนั้นให้ใส่ใจกับสิ่งนั้น
หมายเหตุอื่น :โดยทั่วไป Bash ไม่ต้องการวงเล็บปีกกาสำหรับตัวแปร แต่จะใช้กับอาร์เรย์ ดังนั้น คุณจะสังเกตเห็นว่าเมื่อคุณอ้างอิงอาร์เรย์ คุณต้องใช้ไวยากรณ์ ${myArray}
แต่เมื่อคุณอ้างอิงสตริงหรือตัวเลข คุณเพียงแค่ใช้เครื่องหมายดอลลาร์:$i
.
บทสรุป
สคริปต์ทุบตีมีประโยชน์สำหรับการสร้างพฤติกรรมบรรทัดคำสั่งอัตโนมัติ และอาร์เรย์เป็นเครื่องมือที่ยอดเยี่ยมที่คุณสามารถใช้เพื่อจัดเก็บข้อมูลหลายชิ้น
การประกาศและการใช้งานนั้นไม่ใช่เรื่องยาก แต่มันแตกต่างจากภาษาอื่นๆ ดังนั้น โปรดใช้ความระมัดระวังเพื่อหลีกเลี่ยงการทำผิดพลาด