Я нашел 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++ кода –