यह हो सकता है कि "घड़ी" वह नहीं है जो आप चाहते हैं। आप शायद अपनी समस्या को हल करने में मदद मांगना चाहते हैं, न कि अपने समाधान को लागू करने में! :)
यदि आपका वास्तविक लक्ष्य कमांड से देखी जाने वाली क्रियाओंtail
को ट्रिगर करना है , तो आप इसे पूंछ के हिस्से के रूप में कर सकते हैं। "समय-समय पर" चलाने के बजाय, जो है वह watch
करता है, आप मांग पर अपना कोड चला सकते हैं ।
#!/bin/sh
tail -F /var/log/somelogfile | while read line; do
if echo "$line" | grep -q '[Ss]ome.regex'; then
# do your stuff
fi
done
नोट करें कि tail -F
यह लॉग फ़ाइल का पालन करना जारी रखेगा, भले ही वह समाचार-पत्र या लॉगोटेट द्वारा घुमाया गया हो। आप निचले मामले के बजाय इसका उपयोग करना चाहते हैं tail -f
। man tail
विवरण के लिए जाँच करें।
कहा कि, यदि आप वास्तव में समय-समय पर एक कमांड चलाना चाहते हैं, तो उपलब्ध कराए गए अन्य उत्तर एक छोटी शेल स्क्रिप्ट में बदल सकते हैं:
#!/bin/sh
if [ -z "$2" ]; then
echo "Usage: $0 SECONDS COMMAND" >&2
exit 1
fi
SECONDS=$1
shift 1
while sleep $SECONDS; do
clear
$*
done