У меня есть сценарий bash, который загружает файл sql.gz, извлекает его, а затем импортирует, однако перед импортом я удаляю существующую БД, а затем импортирую новую БД на сервер.
Все хорошо, скрипт делает то, что должен, только одно:
У меня есть это утверждение в моем сценарии bash:
mysqladmin -uroot -ppassword drop dbname
который затем ожидает ввода пользователя для нажатия y or n
продолжать.
Есть ли способ ввести Y
поэтому он всегда говорит «да» и автоматически завершает сценарий. Я новичок (v.new) в сценариях bash.
Спасибо добрые пожелания
Вы должны использовать mysqladmin drop blah -f -uroot -pbleble
. Посмотрите документы:
--force, -f
Do not ask for confirmation for the drop db_name command. With multiple commands, continue even if an error occurs.
эхо Y | mysqladmin ...
Или
mysql -u root -e 'ваши команды sql' dbname
Обратите внимание, что с точки зрения безопасности вы не должны вводить учетные данные пользователя в командной строке. Вместо этого вы должны создать файл настроек ~ / .myrc или около того и заполните там необходимую информацию. Таким образом, ваша информация о пользователе не будет отображаться в списке процессов.