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

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

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:
blog

舉例2:get

舉例3:ast

舉例4:變量

 

舉例5:密碼

 

相關文章
相關標籤/搜索