我有一台$STATUS
。
这很好:
if [ "$STATUS" != "Ok" ]; then blah..
这也是可行的:
if [ "$STATUS" != "Ok" ] || [ "$STATUS" != "Non-Critical" ]; then blah..
当我的两个字符串都在输出中时,我遇到的问题是匹配(或不匹配)。
$status
可以显式等于以下3种情况之一:
Ok
Non-Critical
当$status
两者都输出时,它显示在两行上,例如:
Non-Critical
Ok
反之亦然:
Ok
Non-Critical
如果匹配包含其他内容,我如何才能在上面两个场景中的一个上显式匹配,从而允许我对其执行操作。有什么想法吗?
下面是输出的内容以及我希望它的行为:注意,这些是显式匹配,而不仅仅是包含字符串。
Ok
Non-Critical
Ok
Non-Critical
Non-Critical
Ok
任何其他的都是不好的。bad的一个例子是:
Ok
Failure
发布于 2019-03-20 23:17:30
如果我理解正确的话,以下内容是可以接受的:
OK
Non-Critical
OK\nNon-Critical
(其中\n
是换行符)
Non-Critical\nOK
其他的都是不能接受的。
在这种情况下,一种可能性是(与上面的类似,但有额外的情况):
if [[ $STATUS == "OK" || $STATUS == "Non-Critical" || $STATUS == $'OK\nNon-Critical' || $STATUS == $'Non-Critical\nOK' ]]; then
echo "Everything good"
fi
https://stackoverflow.com/questions/55263969
复制相似问题