linux之read命令


從鍵盤讀取變量值,read命令從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合。該命令可以一次讀取多個變量的值,變量和輸入的值都需要使用空格隔開。在read命令后面,如果沒有指定變量名,讀取的數據將被自動賦值給特定的變量REPLY

命令語法

read [選項][參數]

命令選項

  • -a 后跟一個變量,該變量會被認為是個數組,然后給其賦值,默認是以空格為分割符。
  • -d 后面跟一個標志符,其實只有其后的第一個字符有用,作為結束的標志。
  • -p 后面跟提示信息,即在輸入前打印提示信息。
  • -e 在輸入的時候可以使用命令補全功能。
  • -n 后跟一個數字,定義輸入文本的長度,很實用。
  • -r 屏蔽\,如果沒有該選項,則\作為一個轉義字符,有的話 \就是個正常的字符了。
  • -s 安靜模式,在輸入字符時不再屏幕上顯示,例如login時輸入密碼。
  • -t 后面跟秒數,定義輸入字符的等待時間。
  • -u 后面跟fd,從文件描述符中讀入,該文件描述符可以是exec新開啟的。

命令參數

變量:指定讀取值的變量名。

從標准輸入讀取輸入並賦值給變量

> read rumenz
123
> echo $rumenz
123

從標准輸入讀取輸入到第一個空格或者回車,將輸入的第一個單詞放到變量rumenz1中,並將該行其他的輸入放在變量rumenz2中。

> read rumenz1 rumenz2

從標准輸入讀取一行並賦值給特定變量REPLY。

> read
123
> echo $REPLY
123

把單詞清單讀入arrayname的數組里。

> read -a arrayname

打印提示(text),等待輸入,並將輸入存儲在REPLY中。

> read -p "text:"
text:123
> echo $REPLY
123

允許輸入包含反斜杠。

> read -r rumenz

指定讀取等待時間為3秒。

> read -t 2 rumenz

從輸入中讀取兩個字符並存入變量var,不需要按回車讀取。

> read -n 2 rumenz

用定界符“:”結束輸入行。

> read -d ":" rumenz

讀入數組

> read -a rumenz
123 456 789
> echo ${rumenz[*]}
123 456 789

終端輸入密碼時候,不讓密碼顯示出來

> read -p "輸入密碼:" -s pd
密碼:
> echo $pd
123456

原文鏈接:https://rumenz.com/rumenbiji/linux-read.html
微信公眾號:入門小站


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM