Что НЕПРАВИЛЬНО с этим bash-скриптом [mysql-query] - PullRequest
0 голосов
/ 28 февраля 2011

Первый запрос работает нормально, но второй не работает .. почему? Что не так?

#/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

Ответы [ 2 ]

0 голосов
/ 28 февраля 2011

если [$ DBS> 0]; то

DBS2 = "$ (mysql -u $ MyUSER -h $ MyHOST -p $ MyPASS proftpd -e 'ОБНОВЛЕНИЕ restart SET status = 1 ГДЕ id =' $ DBS '')"

ц

0 голосов
/ 28 февраля 2011

Вы записываете результат запроса Select в «DBS», но затем используете $ DBS для своего условия if. Может быть, поэтому второй не исполняется.

Немного больше информации было бы неплохо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...