第一个查询工作正常,但第二个查询不起作用。为什么?怎么了?什么是错误与这个bash脚本[mysql-query]
#/bin/bash
MyUSER="root" # USERNAME
MyPASS="pass" # PASSWORD
MyHOST="localhost" # Hostname
DBS="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS mydbname -Bse 'select `id` from `table` where `reset`=1 and `status`=0')"
if [ $DBS > 0 ]; then
STRR='UPDATE `restart` SET `status` = 1 WHERE `id` ='$DBS' '
DBS2="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS proftpd -e '$STRR')"
fi
修复!谢谢。
修正版本:
if [ $DBS > 0 ]; then
DBS2="$(mysql -u $MyUSER -h $MyHOST -p$MyPASS proftpd -e 'UPDATE `restart` SET `status` = 1 WHERE `id` ='$DBS'')"
fi
'if [$ DBS> 0]'应该是一个大于测试?如果是这样,它需要'如果[$ DBS -gt 0]'或'if((DBS> 0))'。否则,它会创建一个名为“0”的文件,并且可能始终为真。另一方面,如果你想测试第一个查询的出口值,它应该是'if [$? = 0]'测试成功或'如果[$? != 0]'来测试失败。 – 2011-02-28 00:30:03