此示例效果很好:
if [[ "$(mysql -sse 'USE my_bd; SELECT COUNT(*) FROM my_table" -gt "0" ]];
then echo 1;
else echo 0;
fi
但我需要在'
mysql -e 'query...'
的WHERE子句
所以我需要像这样更改引号顺序并用{{1>}括起来
我试图用mysql -e "query..."
\"
但是这引发了bash错误
-bash:命令替换:第21行:意外令牌附近的语法错误`('
我看到了有关if [[ "$(mysql -sse \"USE my_bd; SELECT COUNT(*) FROM my_table WHERE my_column = 'something'\"" -gt "0" ]];
then echo 1;
else echo 0;
fi
的其他问题,但答案在我的案例中不起作用
答案 0 :(得分:2)
您可以直接使用以下命令:
if [[ "$(mysql -sse "USE my_bd; SELECT COUNT(*) FROM my_table WHERE my_column = 'something')" -gt "0" ]];
then echo 1;
else echo 0;
fi
我刚刚在测试环境中测试了上面的命令,它运行正常。请参阅以下类似示例:
if [[ "$(mysql -sse "use testdb ; SELECT COUNT(*) from student where stu_id = '1001'")" -gt 0 ]];
then echo "1" ;
else echo "0";
fi
1