在shell脚本中引用mysql返回

时间:2013-07-19 15:44:19

标签: mysql bash shell

我需要引用这个mysql代码的输出

mysql -h xx.xx.x.xx -u xxxxxx -pxxxxxx xxxx_xxxx < cmd.sql

执行count(*)以检查db表是否已填充。尝试在稍后的脚本中获取if语句的返回值。

我试过了两次

count=$(mysql -h xx.xx.x.xx -u xxxxxx -pxxxxxx xxxx_xxxx < cmd.sql)
if [ $count > 0 ]; then
    echo "record found\n"
fi

以及

count=$(mysql -h xx.xx.x.xx -u xxxxxx -pxxxxxx xxxx_xxxx "select count(*) from xxxx_x")
if [ $count > 0 ]; then
    echo "record found\n"
fi

但他们都得到了“[:count(*):一元运算符预期”错误。

我甚至尝试“从xxx_xx中选择count(specific_column)”并出现相同的错误。

1 个答案:

答案 0 :(得分:1)

你想要

if [ $count -gt 0 ]; then

>是输出重定向运算符(类似于<,您在上面使用它)

要捕获最后行,只需将结果通过tail -1(请参阅here