Почему sudo -S не работает для команды «mysql»?

Обычно я запускаю sudo mysql database < database.dump и введите пароль в приглашении.

Чтобы автоматизировать это, я попытался выполнить echo 'password' | sudo -S mysql database < database.dump echo 'password' | sudo -S mysql database < database.dump но он не распознает мой пароль.

Я также безуспешно пытался:

 mysql_cmd="mysql database < database.dump" echo 'password' | sudo -S $mysql_cmd 

Я могу нормально использовать другие команды. Что может быть проблемой?

One Solution collect form web for “Почему sudo -S не работает для команды «mysql»?”

Файл database.dump читается на стандартном входе. sudo -S считывает пароль, за которым следует новая строка, со стандартного ввода. Вы можете использовать это вместо этого:

 ( echo 'password'; cat database.dump ) | sudo -S mysql database 
  • sudo: извините, вам не разрешено устанавливать следующие переменные среды
  • Есть ли способ запустить sudo, не запуская еще одну ненужную команду?
  • Как указать регулярное выражение для аргументов команды в sudoers
  • странный же вывод при использовании команды sudo
  • Как протоколировать команды в «sudo su -»?
  • У пользователя все еще есть привилегии sudo, несмотря на то, что они удалены из всех групп
  • sudo для пользователей с пустыми паролями
  • Разрешить пользователю использовать sudo для выполнения чего-либо, только один исполняемый файл как nopassword
  • Как я могу исправить ошибку sudo-sudo: parse в файле /etc/sudoers.d/ADSM рядом с строкой 5?
  • Ошибка: / etc / sudoers не работают - Собственность неверна
  • sudo -E не может вызывать некоторые команды, расположенные в домашнем каталоге?
  • Linux и Unix - лучшая ОС в мире.