我有以下bash条件测试需要更改。
if (( exec_rc == 1 )) && [ -z "$keymap_actm" ] && [ -n "$modmap_actm" ]; then
Run Code Online (Sandbox Code Playgroud)
(( exec_rc == 1 ))必须始终为真。
但如果两者之一[ -z "$keymap_actm" ]或[ -n "$modmap_actm" ]为真,我想执行条件的主体。
什么是实现我想要的目标的可读方式?
贯穿使用[[ \xe2\x80\xa6 ]](条件表达式构造)。请注意,在条件表达式内部,整数之间的相等是拼写的-eq(==将进行文本模式匹配,这可能会也可能不会在您的特定脚本中起作用,具体取决于exec_rc可以采用的值)。
if [[ $exec_rc -eq 1 && (-z $keymap_actm || -n $modmap_actm) ]]; then \xe2\x80\xa6\nRun Code Online (Sandbox Code Playgroud)\n请注意,分隔符周围需要空格[[ \xe2\x80\xa6 ]](命令分隔标点符号旁边除外,例如;),但条件表达式内的括号和运算符周围不需要空格。
| 归档时间: |
|
| 查看次数: |
2595 次 |
| 最近记录: |