在shell脚本中的IF语句中的OR条件

时间:2014-04-03 09:00:01

标签: shell if-statement syntax-error

我正在尝试使用'或'条件在'如果' shell脚本中的语句(Bash / Solaris)。 我正在尝试下面,但它给出了语法错误。

我在做什么错误?

if [ grep "$logtime" $blogs | grep "Authentication Failed" ] -o [ grep "$logtime" $slogs | egrep "AAA Authentication Failure|AAA Authorization Failure" ] > dptest 2>&1;then

    set of commands.

fi

此致 拉胡

1 个答案:

答案 0 :(得分:1)

不要在[ ... ]内放置命令;这用于测试表达式。

if ( grep "$logtime" $blogs | grep "Authentication failed" || grep "$logtime" $slogs | egrep "AAA Authentication Failure|AAA Authorization Failure" ) > dptest 2>&1
then
    # commands
fi

我的答案中的括号不是if语法的一部分,它们用于对命令进行分组,以便将所有输出重定向到dptest