Почему 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 не сохраняет PS1
  • Как возможно, что команда найдена без, но не с sudo -E?
  • Как узнать, была ли утеряна моя sudoer-привилегия?
  • sudo vs "rwx" доступ
  • Что делает «sudo su -s / bin / bash - <username>»?
  • Как предоставить все права на пользователя пользователю ubuntu 12.04
  • Как я могу найти и / или распечатать лекционный файл sudo?
  • Ошибка: / etc / sudoers не работают - Собственность неверна
  • Сделать sudo запрос пароля
  • sudo бесконечно зависает без запроса пароля
  • Как добавить группу "sudo"
  • запустите команду sudo, указав пароль в той же строке
  • Linux и Unix - лучшая ОС в мире.