簡體   English   中英

Bash腳本的行為不像我期望的那樣

[英]Bash script not behaving like I'd expect

我在這里和Google上搜索了一個又一個的問題,但是我的語法有些混亂。 任何幫助表示贊賞。

基本上,我有另一個函數來設置負載和閾值以及$ FORCE變量。 如果腳本滿足第一個或第二個條件,則需要執行“填充”。 變量已正確設置,調試時已通過腳本中的echo確認了這些變量。

if ([ $LOAD -ge "$THRESH" ] || [ $FORCE=1 ]);
then
    # do some other stuff
fi

從我看到的情況來看,括號在條件周圍的間距是正確的。 它們不再像以前那樣產生bash [: missing ]'`錯誤。

該腳本運行正常,除了一個問題...無論如何都可以運行。 就像我完全忽略了[ $FORCE=1 ]部分一樣,盡管我可以看到$FORCE實際上是0。

我應該使用單引號還是其他方法?

嘗試在=周圍放置空格:

if ([ $LOAD -ge "$THRESH" ] || [ $FORCE = 1 ]);
then
    # do some other stuff
fi

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM