Joc*_*Doe 3 command-line bash scripts database sh
我想执行一个 mysql 脚本,如果可能的话,要求用户从命令行动态输入密码Enter your $root password
。但是,它没有按预期工作。到目前为止我有
mysql -u root -p CREATE DATABASE IF NOT EXISTS Test
Run Code Online (Sandbox Code Playgroud)
此外,当创建数据库时如何从 mysql 注销并返回到 bash 命令?
根据文档
mysql -u root -p --execute="SELECT User, Host FROM mysql.user"
Run Code Online (Sandbox Code Playgroud)
提示输入密码,执行给定的命令,并返回到 shell(不需要注销)。
如果您想要自己的提示,则需要编写脚本:
#!/usr/bin/env bash
echo "Enter pwd"
read pwd
mysql -u root -p$pwd --execute="SELECT User, Host FROM mysql.user"
Run Code Online (Sandbox Code Playgroud)
请注意,-p
and之间不能有空格,$pwd
因为
mysql
then 被认为$pwd
是数据库的名称。
我不建议这样做,因为密码在终端中以明文显示,而mysql -p
显示为星号。