Bash:if语句字符串等于string1或等于string2

时间:2015-11-21 10:59:35

标签: bash unix if-statement

我试图测试一个字符串是否不等于两个字符串中的任何一个。例如,在C ++中,这将写为:

if (string1 != string2 || string1 != string3)

但是,尝试创建Bash等效项

if [ "$string1" != "$string2" || "$string1" != "$string3" ]

导致错误[: missing ']'(contents of string1): command not found

我不太确定导致它的原因,但搜索没有发现我可以使用的任何结果。如果有人能够指出我正在使用的代码如何根据需要进行更改,并且如果可能的话,提供示例代码,将不胜感激。

提前致谢! 哈利

1 个答案:

答案 0 :(得分:1)

这里至少有三种可能性:

div

或者:

if [ "$string1" != "$string2" ] || [ "$string1" != "$string3" ]

或者:

if [ "$string1" != "$string2" -o "$string1" != "$string3" ]