第一個查詢工作正常,但第二個查詢不起作用。爲什麼?怎麼了?什麼是錯誤與這個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