bash - 是否可以在 bash 中的 case 选择器中使用花括号?
问题描述
我想在 case switch 中对匹配的行进行一些操作。而且因为字符串很长,我想使用 bash 花括号。但它不起作用。
这段没有花括号的代码按预期工作:
for i in longstr_one longstr_two; do
case $i in
longstr_one| longstr_five)
echo matched $i
;;
*)
echo no matches of $i
;;
esac
done
我得到了预期的结果:
matched longstr_one
no matches of longstr_two
但是以下带有花括号的代码没有:
for i in longstr_one longstr_two; do
case $i in
longstr_{one|,five})
echo matched $i
;;
*)
echo no matches of $i
;;
esac
done
我得到了不正确的结果:
no matches of longstr_one
no matches of longstr_two
为什么它不工作?是否可以在 bash 中的 case 选择器中使用花括号?
解决方案
推荐阅读
- react-native - 搜索栏图标未显示 | 反应原生
- swift - 解决核心数据关系引发 SIGABRT 错误
- javascript - Shopify 中的 Afterpay 代码段位置
- python - 使用 sympy 方程进行直接转录时内存使用率高
- excel - 如何在Excel中使用分数进行乘法
- webstorm - 关闭 WebStorm HTML 父标记树颜色
- postgresql - 加快 PostGIS 中的 ST_snap 查询
- spring - 如何使用 Spring Boot 和 ejb 集成解决休眠验证器问题
- ios - iOS 13 - Estimote SDK - 信标测距
- ansible - ansible`fetch`需要`changed_when:false`?