歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> Linux教程

Linux命令之 交互式輸入read

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!

Copyright © Linux教程網 All Rights Reserved