की घोषणा के बाद वैर सिग्नल कैप्चर वैरिएबल का पता नहीं लगा, मेरे पास जेनेरिक क्लीनअप कोड का एक गुच्छा है जिसे किसी निश्चित बैश स्क्रिप्ट से बाहर निकलने की आवश्यकता होती है, चाहे वह सामान्य रूप से बाहर हो या बाधित हो। मुझे लगा कि मैं इसे प्राप्त करने के लिए trap "..." EXIT
स्यूडोसिग्नल का उपयोग करूंगा।'ट्रैप' ब्लॉक
जेनेरिक क्लीनअप सामान के अतिरिक्त, विशिष्ट सफाई का एक टुकड़ा भी है जो केवल स्क्रिप्ट पूर्ण होने पर ही किया जाना चाहिए। मैंने सोचा कि मैं 'जाल' ब्लॉक एक चर का परीक्षण, इसलिए की तरह होने से यह चालू कर सकते:
#!/bin/bash
done=false;
trap "{
#generic cleanup code goes here.
if $done
then
#cleanup to be done only on completion goes here.
echo Test;
fi
}" EXIT
#main script goes here
done=true;
बहरहाल, यह काम नहीं करता। निम्न कोड चलाना कभी भी "टेस्ट" गूंज नहीं करेगा। done=true;
के बाद एक स्पष्ट exit
कॉल जोड़ना कुछ भी नहीं बदलेगा। मैं क्या खो रहा हूँ?
चीयर्स!