मैं "rm -rf /etc/XXX.pid
" जैसे कमांड को आग लगाना चाहता हूं जब शेल स्क्रिप्ट इसके निष्पादन के बीच में बाधित होती है। CTRL+C
का उपयोग करने की तरह कोई भी मेरी मदद कर सकता है कि यहां क्या करना है?शेल स्क्रिप्ट बाधित होने पर कमांड को कैसे फायर करें?
5
A
उत्तर
7
हालांकि यह कई के लिए एक आघात के रूप में आ सकता है, तो आप उपयोग कर सकते हैं bash
निर्मित trap
जाल संकेतों को :-)
ठीक है, कम से कम उन है कि फंस जा सकता है लेकिन CTRL-C है आमतौर पर INT
संकेत से जुड़ा हुआ है। आप संकेतों को जाल कर सकते हैं और मनमानी कोड निष्पादित कर सकते हैं।
निम्न स्क्रिप्ट आपको कुछ टेक्स्ट दर्ज करने के लिए कहेंगे तो उसे वापस दोहराएं। तो हो सकता है, आप एक INT
संकेत उत्पन्न, यह बस पर कराहना आप और बाहर निकलता है:
#!/bin/bash
exitfn() {
trap SIGINT # Restore signal handling for SIGINT
echo; echo 'Aarghh!!' # Growl at user,
exit # then exit script.
}
trap "exitfn" INT # Set up SIGINT trap to call function.
read -p "What? " # Ask user for input.
echo "You said: $REPLY"
trap SIGINT # Restore signal handling to previous before exit.
एक परीक्षण रन प्रतिलेख (एक पूरी तरह से प्रवेश किया लाइन, किसी भी प्रवेश करने से पहले CTRL-C दबाने के साथ एक पंक्ति है, और के साथ एक पंक्ति इस प्रकार है CTRL-C दबाए जाने से पहले आंशिक प्रविष्टि):
pax> ./testprog.sh
What? hello there
You said: hello there
pax> ./testprog.sh
What? ^C
Aarghh!!
pax> ./qq.sh
What? incomplete line being entere... ^C
Aarghh!!
3
trap
स्क्रिप्ट में संकेतों को पकड़ने के लिए उपयोग किया जाता है, जिसमें SIGINT
उत्पन्न होता है जब Ctrl-C दबाया जाता है।
संबंधित मुद्दे
- 1. त्रुटि होने पर रोक के बिना शेल स्क्रिप्ट से एक शेल कमांड निष्पादित करें
- 2. असफल $ (खोल) कमांड को कैसे बाधित करें
- 3. बैश स्क्रिप्ट बंद होने पर रन कमांड
- 4. शेल स्क्रिप्ट
- 5. ईमेल प्राप्त होने पर एक ईवेंट को फायर करें
- 6. एडब्ल्यूके: शेल स्क्रिप्ट पर वापसी मूल्य
- 7. शेल कमांड
- 8. शेल कमांड
- 9. शेल स्क्रिप्ट
- 10. शेल स्क्रिप्ट
- 11. शेल स्क्रिप्ट
- 12. मैं शेल कमांड
- 13. एक शेल कमांड
- 14. शेल स्क्रिप्ट
- 15. शेल स्क्रिप्ट नोहप
- 16. बैश: CTRL-C होने पर इस स्क्रिप्ट को कैसे बाधित किया जाए?
- 17. दोबारा विफल होने तक एक शेल कमांड चलाएं?
- 18. सीएमके में शेल स्क्रिप्ट के परिणाम को प्रिंट कैसे करें?
- 19. एक शेल स्क्रिप्ट के भीतर passwd कमांड का उपयोग
- 20. एक पायथन स्क्रिप्ट इनपुट में शेल कमांड आउटपुट को रीडायरेक्ट कैसे करें?
- 21. फ़ाइल जोड़ने पर शेल कमांड चलाएं
- 22. एक शेल कमांड
- 23. क्या ट्रिगर_error स्क्रिप्ट को बाधित करता है?
- 24. एमवीवीएम का उपयोग कर डबल-क्लिक सूचीबॉक्स आइटम पर कमांड को कैसे फायर करें?
- 25. ईसी 2 उदाहरणों को कैसे फायर करें और उनमें से प्रत्येक पर स्टार्टअप स्क्रिप्ट अपलोड/चलाएं?
- 26. चल शेल स्क्रिप्ट ++
- 27. निर्यात मेरी शेल स्क्रिप्ट
- 28. के शेल स्क्रिप्ट
- 29. फ़्लोट चार्ट - लाइन होवर पर घटना को कैसे फायर करें
- 30. jquery onkeyup पर TextBox.TextChanged ईवेंट को कैसे फायर करें?
+1 यह बहुत बेहतर है, मैं चेन स्क्रिप्ट के लिए एक लॉजिकल ऑपरेटर का सुझाव देने वाला था। – slezica