ให้whileห่วงสภาพบูลดังกล่าวดังต่อไปนี้:
#!/bin/bash
while true; do
do_something && wait
done
สิ่งนี้จะดำเนินการซ้ำไปซ้ำมาจนกว่าทุบตีรับสัญญาณเพื่อยุติกระบวนการ ctrl+cมักจะอยู่ในรูปแบบของ
คุณสามารถใช้watchคำสั่งเพื่อเรียกใช้สคริปต์ซ้ำ ๆ ได้เช่นกัน ตัวอย่างเช่นนาฬิกาธรรมดาในเครื่อง bash ที่ใช้watchอาจมีลักษณะดังนี้:
$ watch -t -n1 date +%T
-tตัวเลือกที่บอกwatchจะไม่แสดงชื่อของกระบวนการที่กำลังทำงานอยู่ สิ่งนี้จะให้ผลลัพธ์ที่สะอาดของเฉพาะคำสั่งที่ถูกทำซ้ำ -n1ตัวเลือกที่บอกดูที่จะทำซ้ำทุกnวินาที ในกรณีนี้-n1จะเป็นช่วงเวลา1ที่สอง จากนั้นdate +%Tคำสั่งจะแสดงเวลา ณ เวลาที่คำสั่งเสร็จสิ้น การทำคำสั่งนี้จะให้นาฬิกาที่ใช้งานอยู่ในเครื่องของคุณ
และอีกวิธีหนึ่งที่ไม่ได้อยู่ในคำตอบอื่นใดก็คือการเรียกใช้ฟังก์ชันที่ไม่มีที่สิ้นสุด
do_something() { do_something }; do_something && wait
นี่เป็นหลักเหมือนกับ boolean whileloop โดยใช้การเรียกฟังก์ชันแบบเรียกซ้ำ
(แก้ไข) เพื่อรักษาทรัพยากรเครื่องของคุณไว้ในใจฉันได้เพิ่ม&& waitเพื่อให้ทุกครั้งที่กระบวนการทำงานลูปจะ "รอ" จนกว่ากระบวนการนั้นจะเสร็จสิ้นด้วยสถานะออก 0 ก่อนการทำซ้ำครั้งถัดไป สิ่งนี้มีประโยชน์ในเชลล์สคริปต์แบบโต้ตอบ