У меня есть команда mysql, которую я могу выполнить как пользователь 'testuser'. Root не имеет доступа к базе данных.
Я создаю сценарий запуска, который запускается от имени пользователя root, но мне нужно выполнить запрос сверху как testuser во время этого сценария. Я попробовал это:
sudo -u testuser "mysql -D keystone -e "UPDATE endpoint SET url=REPLACE(url, '$OLD_IP', '$HOST_IP');""
Но я получаю ошибку:
bash: синтаксическая ошибка рядом с неожиданным токеном `('
Кто-нибудь знает, где отключен мой синтаксис?
Решением не было кавычек вокруг всей команды mysql: sudo -u testuser mysql -D keystone -e "UPDATE конечная точка SET url = REPLACE (url, '$ OLD_IP', '$ HOST_IP');"