วิธีการใช้ BASH for Loop

หนึ่งในเทคนิคขั้นพื้นฐานที่สุดเมื่อเขียนสคริปต์ bash เกี่ยวข้องกับการทำลูปเพื่อให้คุณสามารถมีงานบางอย่างดำเนินการโดยอัตโนมัติหลายครั้งกว่า ในที่สุดลูปจะบรรลุเงื่อนไขการทดสอบที่กำหนดไว้ล่วงหน้าและก็หยุดทำงานชั่วคราว Loops เช่นนี้จะทำงานอย่างสมบูรณ์แบบในทุบตีบน Linux และ macOS รวมทั้งเปลือก bash ภายใน Windows 10 และแม้แต่เปลือกหอยต่างๆใน FreeBSD โดยธรรมชาติแล้วคุณสามารถเขียนคำสั่งที่คุณต้องการในลูปใด ๆ และทำให้กระบวนการใด ๆ ไปได้ตลอดเวลาที่คุณต้องการ ขณะที่เราเขียนลูปที่ง่ายมาก ๆ คุณสามารถใช้ทักษะเหล่านี้เพื่อเขียนสคริปต์ทุกประเภทที่คุณต้องการได้

มีหลายวิธีที่จะเริ่มต้นเขียนสคริปต์ แต่สำหรับการสนทนานี้เราจะสมมติว่าคุณได้เปิดพรอมต์คำสั่งด้วยการค้นหา terminal ใน Dash โดยคลิกที่เมนู KDE, MATE, LX หรือ Whisker หรือ โดยกด Ctrl, Alt และ T ค้างเอาไว้ในเวลาเดียวกัน ในขณะที่เราจะพูดคุยเกี่ยวกับ vi / vim และ nano ในฐานะบรรณาธิการปัญหาที่บรรณาธิการใช้ค่อนข้างเป็นส่วนตัวและคุณสามารถทำงานกับสิ่งที่คุณพอใจได้

วิธีที่ 1: จนกระทั่ง Loop

บางทีลูปขั้นพื้นฐานที่สุดใน bash คือ loop จนถึง จะดำเนินการคำสั่งจนกว่าเงื่อนไขการทดสอบที่คุณตั้งไว้จะกลายเป็นจริง สมมติว่าคุณใช้ nano หรือ vi เพื่อเปิดไฟล์ที่ไม่มีอยู่ชื่อว่า till.sh และพร้อมที่จะแทรกข้อความใหม่ลงในไฟล์ เราจะทำอะไรบางอย่างที่มีจำนวนถึง 20 ในเทอร์มินัลของคุณเพื่อให้ง่ายในตอนแรก

เริ่มต้นด้วยการพิมพ์ต่อไปนี้:

#! / bin / ทุบตี

n = 0

จนถึง [$ n-gt 20]

ทำ

echo $ n

((n ++))

เสร็จแล้ว

ถ้าคุณใช้นาโนแล้วให้บันทึกโดยกด Ctrl ค้างไว้แล้วกด O และสุดท้าย X เพื่อออก ผู้ใช้ vi ต้องการกด escape แล้วพิมพ์: wq เพื่อบันทึกและออก

ประเภทถัดไป chmod + x untilLoop ที่พรอมต์เพื่อให้ทำงานได้จากนั้นพิมพ์ / untilLoop เพื่อเรียกใช้งาน เมื่อทำงานแล้วลูปจะทำให้ตัวเลขใหม่ออกจาก terminal ของคุณจนกว่าตัวแปร n จะมีค่าเป็น 20

โดยวิธีการที่บรรทัดแรกบอกสภาพแวดล้อมของคุณที่เปลือกเพื่อโหลดขึ้นเมื่อทำงานกับสคริปต์เหล่านี้ โปรแกรมเมอร์บางโปรแกรมแนะนำให้ใช้ #! / bin / sh เพื่อให้มั่นใจว่าสคริปต์ของคุณปฏิบัติตามมาตรฐาน POSIX บางอย่าง แต่สคริปต์แบบง่ายๆเหล่านี้ไม่ควรมีปัญหาในระบบที่ทันสมัยส่วนใหญ่

วิธีที่ 2: The for Loop

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

พิมพ์ nano forLoop หรือ vi forLoop ที่พรอมต์คำสั่งและเริ่มต้นป้อนสคริปต์ต่อไปนี้ ผู้ใช้ vi จะต้องเข้าสู่โหมดแทรกก่อนที่จะดำเนินการ

#! / bin / ทุบตี

unices = 'GNU / Linux FreeBSD OpenBSD NetBSD Solaris OpenIndiana ดาร์วิน HP-UX Minix'

สำหรับ unix ใน $ unices

ทำ

echo $ unix

เสร็จแล้ว

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

บันทึกไฟล์อีกครั้งโดยใช้ปุ่ม Ctrl + O และ Ctrl + X ใน nano หรือ Esc แล้ว: wq method ใน vi ก่อนที่จะออกคำสั่ง chmod + x forLoop เพื่อให้เป็นไฟล์ปฏิบัติการ เมื่อคุณใช้แล้วให้เรียกใช้งานโดยพิมพ์ / .forLoop ที่พรอมต์ ลูปสำหรับบังคับคำสั่ง echo ให้ทำงานกับแต่ละรายการในตัวแปร unices ในทางกลับกัน คุณสามารถอีกครั้งแทนที่รายการที่มีอาร์กิวเมนต์ใด ๆ และแทนที่ echo กับคำสั่งใด ๆ โดยอัตโนมัติกระบวนการยาว

วิธีที่ 3: ลูปในขณะที่

เริ่มการแก้ไขไฟล์ที่สามที่เรียกว่า WhileLoop โดยใช้ nano, vi หรือบรรณาธิการคนอื่น ๆ ที่คุณต้องการใช้ ถ้าคุณต้องการใช้โปรแกรมแก้ไขข้อความแบบกราฟิกจากนั้นคุณสามารถทำสิ่งเหล่านี้ได้ดีกับโครงการเหล่านี้ตราบเท่าที่คุณต้องแน่ใจว่าได้ใส่ไฟล์ในไดเร็กทอรีเดียวกันที่คุณกำลังทำงานจากด้านในของคำสั่ง .

ภายในไฟล์นี้คุณจะต้องเพิ่มบรรทัด:

#! / bin / ทุบตี

n = 0

ขณะที่ [$ n -le 20]

ทำ

echo $ n

((n ++))

เสร็จแล้ว

บันทึกไฟล์แบบเดียวกับที่คุณบันทึกไฟล์อื่น ๆ ไว้แล้วออกจากโปรแกรมแก้ไขข้อความของคุณ เมื่อคุณออกแล้วออกคำสั่ง chmod + x whileLoop เพื่อให้คุณสามารถรันคำสั่งได้และเรียกใช้. / whileLoop เพื่อรัน คุณจะเห็นผลลัพธ์เดียวกันที่ออกมาจากสคริปต์ untilLoop จากวิธีการแรกเนื่องจากมีค่าตั้งแต่ 0 ถึง 20 มากกว่าที่จะเป็นวินาทีที่แยกออก

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

คุณสามารถลบสคริปต์ของคุณได้เมื่อฝึกปฏิบัติเสร็จแล้ว

PRO TIP: หากปัญหาเกิดขึ้นกับคอมพิวเตอร์หรือแล็ปท็อป / โน้ตบุ๊คคุณควรลองใช้ซอฟต์แวร์ Reimage Plus ซึ่งสามารถสแกนที่เก็บข้อมูลและแทนที่ไฟล์ที่เสียหายได้ วิธีนี้ใช้ได้ผลในกรณีส่วนใหญ่เนื่องจากปัญหาเกิดจากความเสียหายของระบบ คุณสามารถดาวน์โหลด Reimage Plus โดยคลิกที่นี่

Facebook Twitter Google Plus Pinterest