कहो कि मेरे पास एक स्क्रिप्ट है:
some-command "$var1" "$var2" ...
और, उस घटना में जो var1
खाली है, मैं चाहता हूं कि इसे खाली स्ट्रिंग के बजाय कुछ भी नहीं बदला जाए, ताकि कमांड निष्पादित हो:
some-command "$var2" ...
और नहीं:
some-command '' "$var2" ...
क्या चर का परीक्षण करने और इसे सहित सशर्त रूप से सरल तरीका है?
if [ -n "$1" ]; then
some-command "$var1" "$var2" ...
# or some variant using arrays to build the command
# args+=("$var1")
else
some-command "$var2" ...
fi
क्या बाश, ज़ीश, या जैसे कुछ भी नहीं करने के लिए विस्तार से एक पैरामीटर प्रतिस्थापन है? मैं अभी भी बाकी तर्कों में ग्लोबिंग का उपयोग करना चाह सकता हूं, इसलिए इसे अक्षम करना और चर को हटाना विकल्प नहीं है।
man
? (-;