एक while
लूप को बूलियन स्थिति दें जैसे कि:
#!/bin/bash
while true; do
do_something && wait
done
यह तब तक खत्म हो जाएगा जब तक bash प्रक्रिया को समाप्त करने के लिए एक संकेत प्राप्त नहीं कर लेता। आमतौर पर के रूप में ctrl+c
।
watch
स्क्रिप्ट को बार-बार चलाने के लिए भी आप कमांड का उपयोग कर सकते हैं । उदाहरण के लिए, अपने बैश टर्मिनल में एक साधारण घड़ी का उपयोग करके watch
देख सकते हैं:
$ watch -t -n1 date +%T
-t
विकल्प बताता watch
प्रक्रिया वह चल रहा है की एक शीर्षक प्रदर्शित नहीं करने के लिए। यह आपको केवल उस कमांड का एक साफ आउटपुट देता है जिसे दोहराया जा रहा है। -n1
विकल्प हर दोहराने के लिए देखने के लिए कहता है n
सेकंड। इस मामले में, दूसरे का -n1
अंतराल होगा 1
। फिर date +%T
कमांड कमांड पूरा होने के समय को दिखाता है। इस कमांड को करने से आपको अपने टर्मिनल में एक सक्रिय घड़ी मिलेगी।
और फिर एक और विधि जो अन्य उत्तरों में से किसी में नहीं है, एक अनंत फ़ंक्शन कॉल होगी।
do_something() { do_something }; do_something && wait
यह अनिवार्य रूप से बूलियन while
लूप केवल पुनरावर्ती फ़ंक्शन कॉल का उपयोग करने के समान है ।
(संपादित करें) आपकी मशीन के संसाधनों को ध्यान में रखते हुए, मैंने यह जोड़ा है && wait
कि हर बार जब कोई प्रक्रिया चलती है, तो लूप "प्रतीक्षा" करेंगे जब तक कि अगली पुनरावृत्ति से पहले यह प्रक्रिया निकास स्थिति 0 के साथ समाप्त न हो जाए। यह एक इंटरैक्टिव शेल स्क्रिप्ट में उपयोगी है।