【发布时间】:2016-07-22 03:20:35
【问题描述】:
我正在尝试自动化我们的应用程序备份。该过程的一部分是在if 语句中检查egrep 的退出状态:
if [ ! -f /opt/apps/SiteScope_backup/sitescope_configuration.zip ] ||
[ egrep -i -q "error|warning|fatal|missing|critical" "$File" ]
then
echo "testing"
fi
我希望它输出testing,因为文件存在并且egrep 返回成功,但我却得到了一个错误:
-bash: [: too many arguments
我尝试了各种语法 - 额外的括号、引号等,但错误仍然存在。
请帮助我了解我哪里出错了。
【问题讨论】:
-
@DavidGrayson:这并不意味着它“有效”。
-
egrep不应用括号括起来。 -
David :在系统中存在的文件上使用 -f 尝试它,您将得到与 Abhinandan 相同的错误。
-
感谢大家的回复。 @kichik - 删除 egrep 周围的括号有效.. 非常感谢:)
标签: bash if-statement