Computer >> คอมพิวเตอร์ >  >> ระบบ >> Linux

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

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

การตั้งค่าสภาพแวดล้อมการทดสอบของคุณ

สิ่งแรกที่คุณต้องมีคือตัวอย่างการทำงานของ Bash นี่คือเชลล์เริ่มต้นใน Terminal ใน Linux, Unix, BSD และ macOS (ยกเว้นกรณีที่คุณใช้ zsh) คุณสามารถตรวจสอบว่าคุณใช้เชลล์ใดอยู่โดยพิมพ์คำสั่งต่อไปนี้ลงในเทอร์มินัล:

echo $SHELL

ควรพิมพ์เปลือกที่คุณใช้อยู่ ผลลัพธ์ของฉันบอกว่าฉันกำลังใช้ /bin/bash ซึ่งเป็นสิ่งที่ฉันกำลังมองหา

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

คุณจะต้องใช้โปรแกรมแก้ไขข้อความด้วย - ตัวแก้ไขใดก็ตามที่คุณเลือกก็ใช้ได้ ฉันใช้ Nano ในเทอร์มินัล แต่คุณสามารถใช้ Vim หรือ Emacs ในเทอร์มินัลหรืออย่างอื่นเช่น Gedit, Kate หรือ Sublime ใน GUI ได้อย่างง่ายดาย

สร้างไฟล์สคริปต์ในโปรแกรมแก้ไขข้อความของคุณ โดยใช้ touch คำสั่งหรือเพียงแค่พิมพ์ชื่อโปรแกรมแก้ไขข้อความและชื่อไฟล์ที่คุณต้องการสร้าง สำหรับฉัน ฉันแค่พิมพ์ nano for-loop-test.sh , และฉันจะเป็นสีทอง

The Bash For Loop:พื้นฐาน

For loop ใน Bash บอกให้เชลล์วนซ้ำช่วงของอ็อบเจ็กต์ที่ระบุและรันคำสั่งที่ระบุบนอ็อบเจ็กต์เหล่านั้น นั่นหมายความว่าอย่างไร? ฉันคิดว่ามันง่ายกว่าที่จะแสดงให้คุณเห็น นี่เป็นการวนรอบขั้นพื้นฐาน

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

บรรทัดแรก for i in 1 2 3 4 5 ระบุตัวแปร “i” และช่วง 1 ถึง 5 ซึ่งอาจเป็นลำดับตัวเลขที่ซับซ้อนมากขึ้น หรืออาจเป็นรายการไฟล์ที่ป้อนที่นั่นหรือไดเรกทอรี

บิตถัดไปคือการจัดรูปแบบพื้นฐาน โดยมีคำสั่งที่จะดำเนินการในส่วนแท็บ do และ done เป็นส่วนหนึ่งของไวยากรณ์ For loop และต้องอยู่ที่นั่น หากฉันเรียกใช้สคริปต์นี้ ฉันจะได้รับผลลัพธ์ดังนี้:

Test round 1
Test round 2
Test round 3
Test round 4
Test round 5
วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

คุณสามารถดูได้ว่าตัวแปรนั้นเข้ามาได้อย่างไร ช่วยให้คุณระบุแต่ละอ็อบเจ็กต์ในช่วงอินพุตนั้นได้ ในการระบุช่วงจำนวนที่ซับซ้อนกว่านี้เล็กน้อย คุณสามารถใช้วงเล็บปีกกาเพื่อตั้งค่าเหล่านั้นได้ หากต้องการระบุช่วงเดียวกันจากช่วงก่อนหน้า คุณสามารถเปลี่ยน for $i in 1 2 3 4 5 เพื่อ for $i in {1..5} . ผลลัพธ์ก็จะเท่าเดิม คุณสามารถนับได้ด้วยตัวเลขบางตัว นี่คือการนับตัวเลขทั้งหมดด้วย 3 ระหว่าง 0 ถึง 27

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

สิ่งที่พบได้ทั่วไปในสคริปต์คือการรันคำสั่งเฉพาะกับไฟล์จำนวนมาก ถ้าฉันต้องการใช้ cat ในกลุ่มไฟล์ในไดเร็กทอรี ฉันทำได้โดยเปลี่ยนสคริปต์ดังต่อไปนี้

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

การดำเนินการนี้จะพิมพ์ผลลัพธ์ของไฟล์ทั้งหมดใน "test-directory" ไปยังเทอร์มินัล

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

ผลลัพธ์จะมีลักษณะดังนี้ในกรณีของฉัน

วิธีใช้ Bash สำหรับคำสั่งวนซ้ำ

คุณสามารถเริ่มรับแนวคิดว่า For loop มีประสิทธิภาพเพียงใด นี่เป็นเพียงการขีดข่วนพื้นผิวเท่านั้น และคุณสามารถรวมหลายคำสั่งเข้าด้วยกันระหว่าง do และ done และคุณยังสามารถใช้คำสั่งแบบมีเงื่อนไขเพื่อทำให้คำสั่งซับซ้อนขึ้นได้

อย่าลืมตรวจสอบบทความ Bash อื่นๆ ของเรา เช่น Bash Tips and Tricks เพื่อทำงานอย่างชาญฉลาดยิ่งขึ้นใน Terminal และอักขระพิเศษบางตัวของ Bash ที่คุณควรรู้