誰能告訴我什麼是錯的語法如下:bash,如何使用OR || If語句中的運算符?
if [ "$1" == "postfix" || "$1" == "all" ]; then
echo test
fi
誰能告訴我什麼是錯的語法如下:bash,如何使用OR || If語句中的運算符?
if [ "$1" == "postfix" || "$1" == "all" ]; then
echo test
fi
二者必選其一
if [ "$1" = "postfix" ] || [ "$1" = "all" ]; then
或
if [ "$1" = "postfix" -o "$1" = "all" ]; then
||
結合了兩個命令(和[
是一個命令)。在[
... ]
內,運營商-o
用於或。
另一種使用||
的方法是在[[
而不是[
內部使用它。
以任何方式,[
...... ]
之內的等於的正確運算符爲=
,因爲它是POSIX標準(根據man bash
)。雖然支持==
。
如果你想這樣做,使用[[
測試形式:
if [[ $1 == "postfix" || $1 == "all" ]; then
[[
是類似(但更強大的一個bash關鍵字比)[
命令。見http://mywiki.wooledge.org/BashFAQ/031和http://mywiki.wooledge.org/BashGuide/TestsAndConditionals除非你正在編寫POSIX SH,我們建議[[
或
if [ "$1" == "postfix" ] || [ "$1" == "all" ]; then
我的回答沒有太大差別,所以+ +從我;-) – Alfe 2014-12-04 00:02:11
'[a == b] || [c == d]'或'[a == b -o c == d]'。或者'[[...]]'而不是。 – Kevin 2014-12-03 23:56:16