read命令从标准输入(键盘)或另一个文件描述符中接受输入。在收到输入后, read命令会将数据放进一个变量。
#!/bin/bash # testing the read command # echo -n "Enter your name: " # 不会在字符串末尾输出换行符 read name echo "Hello $name, welcome to my program. "
直接在read命令行指定提示符
read -p选项
#!/bin/bash # testing the read -p option # read -p "Please enter your age: " age days=$[ $age * 365 ] echo "That makes you over $days days old! "
-p选项 read命令会将姓和名保存在同一个变量中。read命令会将提示符后输入的所有数据分配给单个变量
也可以赋值给多个变量。
Note: read命令会将它收到的任何数据都放进特殊环境变量REPLY中。
REPLY环境变量会保存输入的所有数据,可以在shell脚本中像其他变量一样使用
-t 超时参数
-t选项指定了read命令等待输入的秒数。当计时器过期后, read命令会返回一个非零退出状态码
-n 选项
read命令来统计输入的字符数。当输入的字符达到预设的字符数时,就自动退出,将输入的数据赋给变量。
-n选项和值1一起使用,告诉read命令在接受单个字符后退出。只要按下单个字符回答后, read命令就会接受输入并将它传给变量,无需按回车键。
-s选项
例如需要输入密码时需要隐藏数据,可以使用此选项。
数据会被显示,只是
read命令会将文本颜色设成跟背景色一样