Скажем, у меня есть запрос, который удаляет некоторые данные из базы данных и возвращает в конце количество строк, удаленных с помощью mysql SELECT ROW_COUNT().
delete from person where creation_date < DATE_SUB(CURRENT_TIMESTAMP(), INTERVAL 4 HOUR);SELECT ROW_COUNT();
это мой сценарий bash
rows=$($MYSQL -h $MARIADB_HOST -P $MARIADB_PORT -u $MARIADB_USER --password=$MARIADB_PASSWORD -D $MARIADB_NAME -s -N < script.sql )
когда я вызываю эхо, чтобы напечатать результат, подобный этому
echo $rows
он работает и печатает правильные строки nb строк.
Однако, когда я называю это внутри кавычек, он не работает, и он печатает "был удален",
echo "$rows was deleted"
Я не знаю, что происходит? для информации я запускаю скрипт в cygwin
кажется, что специальные символы вызывают эту проблему.
nbRows='echo $rows | sed 's/[^0-9]*//g''