if语句中有两个或多个字符串

时间:2014-04-03 14:57:44

标签: bash shell if-statement

我想知道如何在if语句中使用不同的字符串

例如:

if [ "${variable}" == "String1" ]    
then    
    some command    
fi

这样可行,但是当我想在if语句中添加另一个字符串时,我得到too many arguments的错误。

if [ "${variable}" == "String1" "String2" ]    
then    
    some command    
fi

提前致谢。

2 个答案:

答案 0 :(得分:1)

如果您尝试与一个字符串进行比较,那么您必须明确地这样做。有两种方法可以做到这一点(第一种方式是首选):

if [ "$variable" = "String1" -o "$variable" = "String2" ]; then
    # Do something
fi

if [ "$variable" = "String1" ] || [ "$variable" = "String2" ]; then
    # Do something
fi

如果您需要比较多个字符串,您可以考虑使用case命令,或者,如果字符串足够相似,则可以考虑正则表达式

答案 1 :(得分:0)

为什么不这样做?

if [ "${variable}" == "String1String2" ]