需要用一个变量比较两个字符串

Need to compare two strings with one variable

我有两个变量 model_namestatus。需要检查 model_name 是否在 model1 或 model2 中并且 status 是否失败然后必须以格式 1 向用户发送邮件,否则邮件应以默认格式发送。

我试过了

If [[ $model_name = "model1" ]] -o [[ $model_name = "model2"]] -a [[$status = "Failed" ]] then format1
else Default format 
fi

但这没有用,默认格式的邮件只能发送

-o-a 不是 ORAND 操作的运算符。只需分别使用 ||&&

另外你可能在$status之前忘记了一个space,而且if命令中没有大写字母。

您的最终测试行应如下所示:

if [[ $model_name = "model1" ]] || [[ $model_name = "model2"]] && [[ $status = "Failed" ]]