shell case 匹配多个条件 1,3 都执行aaa 同时为3时再执行bbb
时间: 2024-12-22 08:16:22 浏览: 4
在shell脚本中,`case`结构通常用于根据变量的值执行一系列预设的操作。如果你想让某个动作(如执行`aaa`)在条件1(变量等于1)或条件3(变量等于3)满足时执行,并且只有当条件3满足时额外执行`bbb`,你可以这样设计:
```bash
#!/bin/bash
# 假设我们有一个变量 $var
var=3 # 可以替换为你想测试的具体数值
case $var in
1|3)
echo "执行aaa"
# 注意这里不需要加上 '&&',因为如果`aaa`执行成功,就会直接跳转到下一个case
aaa_command_here
;;
3)
echo "执行bbb"
bbb_command_here # 只有当var等于3时才会执行这个命令
;;
*)
echo "其他条件"
# 对于其他情况,可以执行默认操作或者其他处理
;;
esac
# 如果你想在每个匹配项之间都执行某些操作,可以在每个case标签后添加一行"break"以跳出当前case
```
在这个例子中,如果`$var`的值为1或3,会先执行`aaa_command_here`,然后继续检查是否有后续的`bbb_command_here`。如果是3,还会执行`bbb_command_here`。对于非1和3的情况,将执行"其他条件"部分。
阅读全文