我试图测试一个字符串是否不等于两个字符串中的任何一个。例如,在C ++中,这将写为:
if (string1 != string2 || string1 != string3)
但是,尝试创建Bash等效项
if [ "$string1" != "$string2" || "$string1" != "$string3" ]
导致错误[: missing ']'
和(contents of string1): command not found
。
我不太确定导致它的原因,但搜索没有发现我可以使用的任何结果。如果有人能够指出我正在使用的代码如何根据需要进行更改,并且如果可能的话,提供示例代码,将不胜感激。
提前致谢! 哈利
答案 0 :(得分:1)
这里至少有三种可能性:
div
或者:
if [ "$string1" != "$string2" ] || [ "$string1" != "$string3" ]
或者:
if [ "$string1" != "$string2" -o "$string1" != "$string3" ]