Bash:测试执行命令是否成功

时间:2014-05-20 17:24:47

标签: mysql sql bash

我有以下脚本:

if [ `mysql -u root -p < test.sql` ]; then
    echo "success"
else
    echo "some error"
fi

如果命令运行正常或出现sql错误,我如何检查if

2 个答案:

答案 0 :(得分:4)

您不需要test命令,即此处[

假设mysql在失败时产生非零退出代码而在成功时产生0,那么你可以说:

if mysql -u root -p < test.sql; then
    echo "success"
else
    echo "some error"
fi

答案 1 :(得分:0)

通常采用的另一种方式是“&amp;&amp;”和“||”分隔符。例如:

mysql -u root -p < test.sql && echo "success" || echo "some error"

如果mysql命令以状态0退出,则将打印“success”。如果没有,将打印“一些错误”。