Выберите удаленную базу данных из bash

Я как бы новичок в сценариях bash / shell и пытаюсь удаленно выбрать из базы данных mysql и проверить, существует ли запись или нет. На основании ответа сделаю кое-что.

Это то, что у меня есть как команда

mysql -u mysql -pMysql123 -h xxx.xxx.xxx.xxx MYDBNAME -e "select count(column) from TABLE where column=1234;"

Когда я запускаю эту команду прямо в терминале, я получаю правильный ответ. Так что я' m пытаюсь вставить это в сценарий, как этот

#!/bin/bash

count=mysql -u mysql -pMysql123 -h xxx.xxx.xxx.xxx MYDBNAME -e "select count(column) from TABLE where column=1234;"

if [ $count -gt 0 ]
then
     echo " greater that 0 "
else
     echo " lower than 0 "
fi

Когда я выполняю сценарий, приведенный выше, на выходе получается

$ ./check.sh

./ check.sh: строка 3: -u: команда не найдена

./ check.sh: строка 5: [: -gt: ожидается унарный оператор

ниже 0

Приветствую любую помощь по этому поводу. Спасибо.

1
задан 16 February 2017 в 07:52
1 ответ

ਤੁਹਾਨੂੰ ਇੱਕ ਸਬਸੈਲ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਇਸ ਨੂੰ ਅਜ਼ਮਾਓ:

count=$(mysql -u mysql -pMysql123 -h xxx.xxx.xxx.xxx MYDBNAME -sse "select count(column) from TABLE where column=1234;")

if [ $count -gt 0 ]
then
     echo " greater that 0 "
else
     echo " lower than 0 "
fi

ਵੀ -s ਵਿਕਲਪ ਦਾ ਨੋਟਿਸ ਲਓ:

--silent, -s
Silent mode. Produce less output. This option can be given multiple times to produce less and less output.
5
ответ дан 3 December 2019 в 17:03

Теги

Похожие вопросы