[S3, E6] Command Line Heroes: Heroes in a Bash Shell
สารบัญ:
โดยทั่วไปคำสั่ง Bash case จะใช้เพื่อทำให้เงื่อนไขที่ซับซ้อนง่ายขึ้นเมื่อคุณมีตัวเลือกที่แตกต่างกันหลายตัว การใช้คำสั่ง case แทนการซ้อนกันถ้าคำสั่งจะช่วยให้คุณทำให้ bash script อ่านง่ายขึ้นและง่ายต่อการดูแลรักษา
คำสั่งกรณี Bash มีแนวคิดที่คล้ายกันกับคำสั่ง Javascript หรือ C switch ข้อแตกต่างที่สำคัญคือคำสั่ง Bash แตกต่างจากคำสั่ง C ซึ่งไม่ได้ค้นหาการจับคู่รูปแบบต่อไปเมื่อพบคำสั่งหนึ่งและดำเนินการคำสั่งที่เกี่ยวข้องกับรูปแบบนั้น
ในบทช่วยสอนนี้เราจะกล่าวถึงพื้นฐานของคำสั่ง Bash case และแสดงวิธีใช้มันในเชลล์สคริปต์ของคุณ
ไวยากรณ์คำสั่งกรณีและปัญหา
คำสั่งกรณี Bash ใช้แบบฟอร์มต่อไปนี้:
case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac
- แต่ละคำสั่ง case เริ่มต้นด้วยคีย์เวิร์ด
case
ตามด้วยนิพจน์เคสและคีย์เวิร์ดin
คำสั่งนั้นลงท้ายด้วยคำสำคัญesac
คุณสามารถใช้หลายรูปแบบคั่นด้วย|
ผู้ประกอบการ ตัวดำเนินการ)
ยกเลิกรายการรูปแบบรูปแบบสามารถมีอักขระพิเศษรูปแบบและคำสั่งที่เกี่ยวข้องเรียกว่าส่วนคำสั่งข้อแต่ละข้อต้องสิ้นสุดด้วย;;
คำสั่งที่สอดคล้องกับรูปแบบแรกที่ตรงกับนิพจน์จะถูกดำเนินการมันเป็นวิธีปฏิบัติทั่วไปในการใช้สัญลักษณ์ดอกจัน (*
) เป็นรูปแบบสุดท้ายเพื่อกำหนดกรณีเริ่มต้น รูปแบบนี้จะตรงกันเสมอหากไม่มีรูปแบบใดที่ตรงกับสถานะการส่งคืนจะเป็นศูนย์ มิฉะนั้นสถานะการส่งคืนคือสถานะออกของคำสั่งที่ดำเนินการ
ตัวอย่างคำชี้แจงกรณี
นี่คือตัวอย่างการใช้คำสั่ง case ใน bash script ที่จะพิมพ์ภาษาราชการของประเทศที่ระบุ:
languages.sh
#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac
บันทึกสคริปต์ที่กำหนดเองเป็นไฟล์และเรียกใช้จากบรรทัดคำสั่ง
bash languages.sh
สคริปต์จะขอให้คุณป้อนประเทศ ตัวอย่างเช่นถ้าคุณพิมพ์“ ลิทัวเนีย” มันจะจับคู่รูปแบบแรกและคำสั่ง
echo
ในข้อนั้นจะถูกดำเนินการ
สคริปต์จะพิมพ์ผลลัพธ์ต่อไปนี้:
Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian
Enter the name of a country: Argentina The official language of Argentina is unknown
ข้อสรุป
ตอนนี้คุณควรมีความเข้าใจวิธีเขียนคำสั่ง bash case อย่างดี พวกเขามักจะใช้เพื่อส่งผ่านพารามิเตอร์ไปยังเชลล์สคริปต์จากบรรทัดคำสั่ง ตัวอย่างเช่นสคริปต์ init กำลังใช้คำสั่ง case สำหรับการเริ่มหยุดหรือรีสตาร์ทเซอร์วิส
การเรียกใช้ Bash on Ubuntu บน Windows 10

การเปิดใช้งาน Windows Subsystem for Linux จะทำให้คุณสามารถเรียกใช้ Bash บน Ubuntu บน Windows 10, สคริปต์ Bash , เครื่องมือบรรทัดคำสั่ง Linux, เครื่องมือ Linux แรกก่อน
Bash for loop

มีโครงสร้างพื้นฐาน 3 แบบในการสร้างสคริปต์ Bash สำหรับการวนซ้ำในขณะที่วนซ้ำและจนกว่าจะวนซ้ำ ในบทช่วยสอนนี้เราจะกล่าวถึงพื้นฐานของการวนรอบใน Bash รวมถึงการแบ่งและดำเนินการต่อเพื่อเปลี่ยนการไหลของลูป
Bash: ต่อท้ายไฟล์

ใน Linux มีหลายวิธีในการต่อท้ายข้อความในไฟล์ บทความนี้จะอธิบายบางส่วนของพวกเขา