命令read

read命令是一個bash命令,它用于從鍵盤或標準輸入中讀取文本.我們可以使用read以交互的形式讀取來自用戶的輸入.并且read還提供一種不需要按回車就能夠輸入參數的方法.

read可以從標準輸入中讀取單獨的一行,或者使用-u選項,從文件描述符FD中讀取.并且這單獨的行被分隔成多個域,第一個詞被賦值給第一個變量,第一個賦值給第二個變量,以此類推,直到剩下的所有詞都賦值給最后一個變量.如果沒有提供name變量,則讀取的行被存放在REPLY變量中

用法: read [option]… [function]… [name]…

選項:

    -a arrary  將字符賦值給ARRARY數組變量的序列下表成員,從零開始

    -d delim  持續讀取直到讀入DELIM變量中的第一個字符,而不是換行符

    -e    在一個交互式shell中使用readline獲取行

    -i text 使用TEXT文本作為readline的初始文字

    -n nchars    讀取語句中的n個字符并且存入變量中

    -N nchars    在準確讀取n個字符之后返回,除非遇到了文件結束符或者讀超時,任何分隔符都被忽略

    -p prompt  用于顯示提示信息,并且末尾不帶換行符

    -r    不允許反斜杠轉義任何字符

    -s    不顯示終端的任何輸入

    -t timeout 如果在timeout秒內沒有讀取一個完整的行則超時并且返回失敗信息.TMOUT變量的值是默認的超時時間.timeout可以是小數.如果timeout是0,那么僅當在指定的文件描述符上輸入有效的時候,read才會返回成功.如果超過了超時時間,則返回狀態碼大于128

    -u fd  從文件描述符FD中讀取,而不是標準輸入 

實戰演練:

1、從下面的語句中讀取n個字符并存入變量var中

    read -n number_of_chars var

    例如   read -n 2 var

         echo $var

2、用無回顯的方式讀取密碼

    read -s var

3、顯示提示信息

    read -p “enter input:” var

4、在特定時限內讀取輸入,超時會返回

    read -t timeout var

例如: read -t 2 var  

5、用特殊的定界符作為輸入行的結束

    read -d “:” var

例如: read -d “:” var






 

 

原創文章,作者:black_fish,如若轉載,請注明出處:http://www.www58058.com/33389

(0)
black_fishblack_fish
上一篇 2016-08-12 09:01
下一篇 2016-08-12 09:01

相關推薦

  • Linux 入門基礎 及一些常見命令(下)

    date:                    顯示日期時間:date [OPTION]… [+FORMAT]        &nbsp…

    Linux干貨 2016-09-17
  • Linux 系統終端

    Linux系統的主要終端主要包含:控制臺終端、控制終端、串口終端、偽終端、虛擬終端。 控制臺終端:在Linux 系統中,計算機顯示器通常被稱為控制臺終端(Console)內核將信息送到控制臺終端上(/dev/console), 通過與console相關聯的虛擬終端將信息顯示到屏幕上。再開機過程中屏幕輸出的信息,這個屏幕就是Console; 控制終端:鍵盤,顯…

    Linux干貨 2016-10-19
  • Python

    Python中os和shutil模塊
    csv文件和ini文件簡介

    Linux干貨 2017-10-30
  • ?文本編輯器nano

    新建/打開文件     nano 路徑+文件名,文件存在則為打開,否則新建;(未輸入文件名,編輯完成后,保存退出會提示輸入文件名); nano     note:nano中,黑底白字表示快捷鍵操作。其中“^”表示Ctrl鍵,則Ctrl+G就表示成“^G”?!癕”表示 Alt鍵,則Alt+W表示為“M…

    Linux干貨 2016-05-05
  • 學習宣言

    我是喻成,我參加了馬幫第22期的linux運維網絡班,于2016年8月開始跟隨馬哥學習linux, 我的學習宣言是:要享受學習的每一刻,我思故我在。

    Linux干貨 2016-08-15
  • centos6開機啟動流程以及系統服務配置管理

    內容:   CentOS6 的啟動流程   服務管理(chkconfig)   手動制定系統開機服務腳本 一、centos6系統啟動流程 綜述過程: POST–>BIOS(Boot Sequence)–>MBR(grub,446)–>Kernel–>init…

    Linux干貨 2016-09-08
欧美性久久久久