2012-06-29 46 views

回答

7

在一些早期的殼,測試對於一個空字符串變量WASN」就像現在一樣簡單,所以最好的選擇是看看「x $ variable」是否等於「x」。此外,因爲這顯然使用test,這比試圖正確引用/轉義序列像'$ x!=「y」'而不會失去理智和/或可移植性更簡單。

+2

澄清:「並不像現在那麼容易」意味着許多shell是bug,並且不會正確評估帶有空字符串的命令,如'test「」=「foo」' –

+1

* other * reason this有必要的是,如果'$ variable'擴展成以短劃線開頭的東西,'test'可能會將其解釋爲一個選項而不是要比較的字符串。在現代貝殼中,等號優先,但並非總是如此。 – zwol

相關問題