bash - Bash 检查多个单词以匹配一个单词
问题描述
我有一个
BACKUP_STATUS
由许多SUCCESS
单词组成的变量
[ryt: i9]: echo $BACKUP_STATUS
SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS
问题:我想进行检查,以便如果变量中的这些单词之一更改为其他单词,那么它会给出错误我尝试这样
[[$BACKUP_STATUS = "SUCCESS"]] && echo true || echo false
但抛出错误
解决方案
您可以使用带有测试命令的正则表达式来搜索是否找到“NO_SUCCESS”字符串
$ SUC="SUCCESS SUCCESS SUCCESS SUCCESS SUCCESS"
$ NSUC="SUCCESS SUCCESS SUCCESS SUCCESS NO_SUCCESS"
$ [[ $SUC =~ .*NO_SUCCESS.* ]] && echo "something wrong" || echo "everything is ok"
everything is ok
$ [[ $NSUC =~ .*NO_SUCCESS.* ]] && echo "something wrong" || echo "everything is ok"
something wrong
推荐阅读
- android - 谷歌播放
阻止三星设备 S10 和 S20 - python - 如何生成 3 个圆圈,其中所有 3 个圆圈属于不同的类别
- java - 复制 XML 节点并粘贴到同一根级别
- android - 在android中设置单选按钮位置
- mongodb - 如何从 docker 停止 mongoDB 日志
- jquery - 是否可以动态遍历对象数组并将文本和值字段分配给下拉列表
- python - 使用 python-constraint 将可变数量的约束应用于 CSP 问题
- javascript - 如何在 React 中像谷歌驱动器这样的响应式卡片网格上进行箭头键导航?
- apache-spark - Power BI 连接到 Cloudera 上的 Hive/Spark
- r - 跳过循环中的迭代