Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม BASH

Bash Array – วิธีการประกาศ Array of Strings ใน Bash Script

สคริปต์ทุบตีมอบวิธีที่สะดวกในการทำให้งานบรรทัดคำสั่งเป็นแบบอัตโนมัติ

ด้วย Bash คุณสามารถทำสิ่งเดียวกันกับที่คุณทำในภาษาสคริปต์หรือภาษาโปรแกรมอื่นๆ ได้ คุณสามารถสร้างและใช้ตัวแปร ดำเนินการวนซ้ำ ใช้ตรรกะตามเงื่อนไข และจัดเก็บข้อมูลในอาร์เรย์

แม้ว่าฟังก์ชันการทำงานอาจคุ้นเคยดี แต่ไวยากรณ์ของ Bash ก็อาจเป็นเรื่องยาก ในบทความนี้ คุณจะได้เรียนรู้วิธีประกาศอาร์เรย์และวิธีการใช้อาร์เรย์ในโค้ดของคุณ

วิธีการประกาศอาร์เรย์ใน Bash

การประกาศอาร์เรย์ใน Bash นั้นง่าย แต่ให้ใส่ใจกับไวยากรณ์ หากคุณคุ้นเคยกับการเขียนโปรแกรมในภาษาอื่น โค้ดอาจดูคุ้นเคย แต่ก็มีความแตกต่างเล็กน้อยที่พลาดได้ง่าย

ในการประกาศอาร์เรย์ของคุณ ให้ทำตามขั้นตอนเหล่านี้:

  1. ตั้งชื่ออาร์เรย์ของคุณ
  2. ตามด้วยชื่อตัวแปรนั้นด้วยเครื่องหมายเท่ากับ เครื่องหมายเท่ากับ ไม่ควร มีพื้นที่รอบๆ
  3. ใส่อาร์เรย์ใน วงเล็บ (ไม่ใช่วงเล็บเหมือนใน JavaScript)
  4. พิมพ์สตริงของคุณโดยใช้เครื่องหมายคำพูด แต่ ไม่มีเครื่องหมายจุลภาค ระหว่างพวกเขา

การประกาศอาร์เรย์ของคุณจะมีลักษณะดังนี้:

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 .

บทสรุป

สคริปต์ทุบตีมีประโยชน์สำหรับการสร้างพฤติกรรมบรรทัดคำสั่งอัตโนมัติ และอาร์เรย์เป็นเครื่องมือที่ยอดเยี่ยมที่คุณสามารถใช้เพื่อจัดเก็บข้อมูลหลายชิ้น

การประกาศและการใช้งานนั้นไม่ใช่เรื่องยาก แต่มันแตกต่างจากภาษาอื่นๆ ดังนั้น โปรดใช้ความระมัดระวังเพื่อหลีกเลี่ยงการทำผิดพลาด