Linux命令之 交互式输入read

ykmail 2013-03-25

read是一个重要的Linux命令,用于从键盘或标准输入中读取输入。
 
一般只有按回车键的时候才标志输入完毕,但有些情况下没法按回车键,read提供了一种不需要按回车键的方法。
 
1.-p “提示语句” 变量名
 

[wang@localhost 桌面]$ vim testcmd.sh
 

#!/bin/bash
 
read -p "Enter your name :" name1 name2  //name1前面要空格,可以赋值给多个变量
 
echo $name1
 
echo $name2
 

 

[wang@localhost 桌面]$ chmod +x testcmd.sh
 
[wang@localhost 桌面]$ ./testcmd.sh
 

Enter your name :william sam
 
william
 
sam
 
[wang@localhost 桌面]$ ./testcmd.sh
 
Enter your name :william sam linux    //多余的输入会赋值给最后一个变量
 
william
 
sam linux
 

 

2.-n 输入个数
 
当输入字符数达到预定数目,则自动退出,不用按回车。
 

[wang@localhost 桌面]$ read -n 4 -p "Enter your name :" name;echo $name
 
Enter your name :wangwang    //一个wang是输入的,另一个是echo $name。
 

 

3.-s 不回显
 
用于输入密码,对于密码的保护。
 

[wang@localhost 桌面]$ read -n 4 -s -p "Enter your name :" name;echo $name
 
Enter your name :wang    //这个是echo $name
 

 

4.-t 等待输入的秒数
 

[wang@localhost 桌面]$ read -n 4 -t 2 -p "Enter your name :" name;echo $name
 
Enter your name :            //等2秒后 自动跳出了
 

 


或者写个脚本:
 
[wang@localhost 桌面]$ vim testcmd.sh
 

#!/bin/bash
 
if read -t 2 -p "Enter your name :" name
 
then
 
        echo $name
 
else
 
        echo "Timeout!"
 
fi
 

[wang@localhost 桌面]$ ./testcmd.sh
 
Enter your name :Timeout!

相关推荐

soyo / 0评论 2014-09-16