自學Linux Shell13.3-獲得用戶輸入(read命令)


Bash shell提供了一些不同的方法來從用戶處獲得數據,包括以下3中方法:

13.3-獲得用戶輸入(read命令)

read命令從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合。
該命令可以一次讀取多個變量的值,變量和輸入的值都需要使用空格隔開。
參數:

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

簡單的一些常用的使用方式:

  • read 1988name      從標准輸入讀取輸入並賦值給變量1987name。
  • read first last          從標准輸入讀取輸入到第一個空格或者回車,將輸入的第一個單詞放到變量first中,並將該行其他的輸入放在變量last中。
  • read                       從標准輸入讀取一行並賦值給特定變量REPLY。
  • read -a arrayname  把單詞清單讀入arrayname的數組里。
  • read -p "text"          打印提示(text),等待輸入,並將輸入存儲在REPLY中。
  • read -r line             允許輸入包含反斜杠。
  • read -t 3                 指定讀取等待時間為3秒。
  • read -n 2 var          從輸入中讀取兩個字符並存入變量var,不需要按回車讀取。
  • read -d ":" var        用定界符“:”結束輸入行

舉例1:

舉例2:

舉例3:

舉例4:

 

舉例5:

 


免責聲明!

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



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