linux - Linux shell 脚本中的“:”运算符
问题描述
我遇到了以下语法,我认为它看起来像 c++ 中的三元运算符,但在 bash 中搜索三元运算符会发现 bash (?) 中有一个三元运算符。
var_a=${var_b:-$var_c}
上面的语法是如何工作的。它的技术术语是什么?如果标题本身在某种程度上具有误导性,我们深表歉意。
解决方案
它评估为$var_b
,除非$var_b
为空,在这种情况下它评估为$var_c
。
:-
在bash 手册页中查找:
${parameter:-word}
使用默认值。如果
parameter
未设置或为空,word
则替换 的扩展。否则,parameter
替换 的值。
其他类似:=
的构造包括分配默认值、:?
如果变量未设置则出错以及:+
替换替代值。
推荐阅读
- google-apps-script - 谷歌表格应用脚本权限限制
- java - Spring Boot:响应时间戳提前 1 小时
- xml - 需要从生成的 xml Oracle 中删除 ROWSET 和 ROW 标签
- c++ - 如何使用 localtime() 获取 Arm ASM 中的当前时间?
- asp.net - 在asp.net Mvc5中的编辑期间绑定下拉列表中的选定值
- wordpress - Twilio 通过在电话号码参数中提供加拿大号码导致错误
- java - (JAVA)将十进制转换为二进制编码的十进制?
- merge - 如何在不合并或附加的情况下在 Power BI 中拥有多个链接
- android - 自动化 android 多风格应用程序构建生成
- java - 使用 Mockito 进行模拟测试是什么意思