Я как бы новичок в сценариях 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
Приветствую любую помощь по этому поводу. Спасибо.
ਤੁਹਾਨੂੰ ਇੱਕ ਸਬਸੈਲ ਦੀ ਜ਼ਰੂਰਤ ਹੈ. ਇਸ ਨੂੰ ਅਜ਼ਮਾਓ:
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.