我不想使用tcsh,但不幸在這種情況下別無選擇。所以請不要「使用另一個shell」的答案!如何檢查環境變量是未設置還是設置爲空字符串?
我目前正試圖檢查一個環境變量是否都設置,並且它被設置爲有用的東西。因此,我想要做的是這樣的:
if ($?HAPPYVAR && $HAPPYVAR != "") then
... blah...
else if ($?SADVAR && $SADVAR != "") then
... more blah ...
endif
的問題是,如果$ HAPPYVAR是no,會出錯誤的表達下半年(因爲環境變量替換髮生早期)。我可以使用嵌套的ifs,但是當我的「其他」工作正常時(我不得不設置另一個env var來說是否發生「...... blah ...」)。
任何人都有這樣做的不錯的,整潔的解決方案?
雖然工作在相同的概念,我發現我的腳本不處理如果塊,它只是說HAPPYVAR:未定義的變量和終止,我如何使它的工作,以便它執行如果塊? –