आप की तरह कुछ की कोशिश कर सकते:
#!/bin/sh
[ -n $1 ] || {
echo "Usage: $0 [url to file to get]" >&2
exit 1
}
wget $1
[ $? ] && {
echo "Could not download $1" | mail -s "Uh Oh" [email protected]
echo "Aww snap ..." >&2
exit 1
}
# If we're here, it downloaded successfully, and will exit with a normal status
जब एक स्क्रिप्ट है कि (संभावना) अन्य स्क्रिप्ट बुलाया जाएगा बनाने, यह महत्वपूर्ण है निम्न कार्य करें:
- सुनिश्चित तर्क विवेक
- संदेश ई-मेल, एक लॉग करने के लिए लिखते हैं, या कुछ और करने तो कोई जानता है कि क्या हो गया था गलत
>&2
बस stderror
को त्रुटि संदेशों में से उत्पादन है, जो एक फोन करने स्क्रिप्ट कुछ इस तरह करने की अनुमति देता पुनर्निर्देश: चूंकि यह एक छोटी आवरण है
foo-downloader >/dev/null 2>/some/log/file.txt
, विवेक :)
का एक सा त्यागना करने का कोई कारण
यह भी आप चुनिंदा /dev/null
को wget
के उत्पादन में निर्देशित करने के लिए अनुमति देता है, आप वास्तव में खासकर यदि आप एक ई मेल यह असफल :)
स्रोत
2010-11-07 17:55:02
ठीक है .. क्या आप मुझे एक उदाहरण प्रदान कर सकते हैं, इसलिए जब फ़ाइल डाउनलोड की जाती है, तो स्क्रिप्ट इको का "ठीक" कुछ और "FAILED" जैसा होता है ... – CyberK
स्क्रिप्ट को ठीक करने और इसमें विफल होने के लिए बदल दिया गया। इसे एक बेहतर उदाहरण बना दिया। – ojblass
@ साइबरके: आप संभावित रूप से wgets आउटपुट को दबाना चाहते हैं: 'wget $ 1 2>/dev/null' – thejh