कुछ शेल सत्रों के लिए मैं एक चेतावनी ध्वज प्रिंट करने में सक्षम होना चाहता हूं यदि शेल चर सेट नहीं किया जाता है और निर्यात किया जाता है।
यदि आप परेशान SET_ME
या अशक्त हैं, तो प्रॉम्प्ट में "त्रुटि" प्रिंट करने के लिए इस तरह का कुछ करना काफी सरल है ।
test_var () { test -z "$1" && echo Error; }
PS1='$(test_var "$SET_ME") \$ '
हालाँकि, यह फ्लैग करने में विफल रहता है अगर मैं SET_ME
इसे निर्यात किए बिना सेट करता हूं , जो एक त्रुटि है जिसे मैं पता लगाने में सक्षम होना चाहता हूं। कुछ की तरह $(bash -c 'test -z "$SET_ME" && echo Error;')
या उत्पादन के grepping export
, वहाँ एक साधारण जाँच है कि मैं परीक्षण कर सकता हूँ कि क्या SET_ME
निर्यात किया गया है?
एक गैर-पॉसिक्स, बैश-केवल समाधान पूरी तरह से स्वीकार्य है।
typeset
विशेषताओं का उपयोग नहीं करता ।