Shell
Shell 腳本 = 命令“測試” = 簡單問題
啟動腳本的摘錄如下所示:
啟用=1
測試“$啟用”!=“0”|| 出口 0
問題是,無論 Enabled 設置為 0 還是 1,腳本總是在該行退出。我查找了“man test”,據我了解,test 總是會評估表達式,然後 exit(!!) 並返回程式碼?它是否正確。因此,無論變數的值是什麼,此腳本都會在這一行始終退出?(所以它的越野車)。
謝謝!!詹斯
#!/bin/bash ENABLED=1 test "$ENABLED" != "0" || exit 0 echo "wasn't zero"
當我執行這個時,我得到
[madhatter@risby tmp]$ ./foo wasn't zero
所以,在我看來,要麼
- 你正在使用一個奇怪的解釋器(你在哪個 shell 下執行它),或者
- 你選擇了錯誤的
test
(你能做一個which test
並告訴我們結果,或者明確地使用/usr/bin/test
嗎?),或者- (對此感到抱歉)你錯了它沒有進入下一行(正如 Janne 上面所說的,我們能否看到更多的 shell 腳本,或者你能否在測試後立即放置一個像我的 echo 語句一樣的單行金絲雀?