我發現this question如何在bash中進行條件賦值,但我想要做的是更復雜一點,而且我似乎無法獲得語法對。在我的情況下,條件是測試一個變量,看看它是否存在,並將輸出連接到一個字符串。Bash條件賦值,測試變量,同時構建字符串
這是我到目前爲止有:
fwversion="${BASH_REMATCH[1]}.$(([[ BASH_REMATCH[2] ]] ? BASH_REMATCH[2] : 0))"
將會產生此錯誤消息:
bash: line 41: [[ BASH_REMATCH[2] ]] ? BASH_REMATCH[2] : 0 : syntax error:
operand expected (error token is "[[ BASH_REMATCH[2] ]] ? BASH_REMATCH[2] : 0 ")
這裏就是我想要達到的C++代碼:
std::string fwversion = BASH_REMATCH[1] + "." + ((BASH_REMATCH[2]) ? : BASH_REMATCH[2] : 0);
什麼是正確的語法在bash中做到這一點?謝謝。
這實際上是C++代碼 –