Мне нужно запустить хранимую процедуру, используя MySQL из Bash. Хранимая процедура возвращает переменную, и мне нужно проверить значение переменной в bash, чтобы отобразить ее соответствующим образом. Если я выводю переменную напрямую, она отображает значение правильно, но если я проверяю значение, используя if
, условие if
никогда не выполняется, и я не получаю «YES», отображаемое в следующем случае.
Чтобы упростить задачу, я упростил bash-файл следующим образом:
result=$(mysql -h localhost -u$MYSQL_USER -p$MYSQL_PASSWORD -s -e "set @myVarible = 'YES';select @myVarible" $MYSQL_DATABASE)
if [[ $result == 'YES' ]] ; then
echo YES
fi
Вывод echo -n "$result" | od -ctx1
- это
0000000 Y E S \r
59 45 53 0d
0000004