我有一个 bash 脚本,它可以下载一个 sql.gz 文件,提取它然后导入它,但是在导入之前,我会删除现有的数据库,然后将新的数据库导入到服务器上。
一切正常,脚本按预期执行,只有一件事:
我的 bash 脚本中有此语句:
mysqladmin -uroot -ppassword drop dbname
然后等待用户输入以y or n
继续。
有没有办法让我输入,Y
这样它总是说是并自动完成脚本。我是 Bash 脚本的新手(v.new)。
谢谢亲切的问候
答案1
回显 Y | mysqladmin ...
或者
mysql -u root -e'你的 sql 命令' 数据库名称
请注意,从安全角度来看,您不应在命令行上提供用户凭据。相反,您应该创建一个首选项文件~/.myrc或类似的东西,并在那里填写必要的信息。这样你的用户信息就不会通过进程列表泄露。
答案2
您应该使用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.