您如何在shell脚本中从用户那里获取单行输入?

时间:2020-01-09 10:43:07  来源:igfitidea点击:

问题:
如何编写一个Shell脚本来提示用户的数据库名称,用户名和密码。
如何在Shell脚本中接受用户的单行输入?

答:您需要在shell脚本中使用read命令来读取shell中用户的单行输入frm。

从标准输入(键盘)或者文件描述符FD(如果提供了-u选项)中读取一行,并且第一个单词分配给第一个名称,第二个单词分配给第二个名称,依此类推,其余分配给姓氏的单词。

语法:

read {variable-name}  read -p {Prompt text} {variable-name}

从用户读取单行输入并将其存储到名为dbname的变量中:

read dbname

或者

read -p 'Enter Database name : ' dbname

要显示变量值,请执行:

echo $dbname

示例脚本

#!/bin/bash
read -p 'Enter mysql database name : ' dbname
read -p 'Enter username : ' dbuname
read -s -p 'Enter password : ' dbpass
mysql -uroot -p'Password'<<EOFMYSQL
CREATE DATABASE $dbname;
GRANT ALL ON $dbname.* TO $dbuname@localhost IDENTIFIED BY "$dbpass";
EOFMYSQL