【发布时间】:2015-10-09 13:12:44
【问题描述】:
我找到了this question 以了解如何在 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++代码
标签: bash string-concatenation conditional-operator