命令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
下一篇 2016-08-12

相關推薦

  • 不忘初心,砥礪前行!

    這是本人第一次書寫博客,難免有些小心翼翼,手足無措,但每個人都有這樣的經歷,轉念一想也就釋懷了。時光飛速,我們已不再年輕,從大學畢業的那天起,我們就再也不是小孩子了。 7月的天氣總是那么折磨人,高溫讓我們步履維艱,在7月只想找一片月淡風輕的樂土,度過一個難熬的夏天,或找一間空調房,調大音量,享受午后時光。但這樣的日卻離我們很遠,這個夏天我們背起行囊,遠離故土…

    2017-07-11
  • MySQL基礎知識

    1、SQL:結構化查詢語言(Structured Query Language): DDL:Data?Definition?Language(數據定義語言):?其語句包括動詞CREATE和DROP。在數據庫中創建新表或刪除表(CREAT TABLE?或?DROP TABLE);為表加入索引等。DDL包括許多與人數據庫目錄中獲得數據有關的保留字。它也是動作查詢…

    2017-11-20
  • find命令詳解

    find命令詳解 基本介紹 find命令用來從目錄系統中查找文本不同于locate,find不從數據庫中查找文件,所以find速度略遜于locate,但find是實時且準確的,而且不需要占用系統資源進行遍歷文件。 其標準格式如下 find [-H] [-L] [-P] [-D debugopts] [-O level] [path…] [expressi…

    Linux干貨 2017-04-09
  • 實驗:配置靜態路由1

    實驗:配置靜態路由1 IP地址規劃如下: 注意,環境準備: 1、MAC地址不要有沖突,如果是復制的虛擬機,對于centos6需刪除網卡定義文件rm -f /etc/udev/rules.d/70-persistent-net.rules 2、清空防火墻iptables -F(查看:iptables -vnL) 3、啟用IP轉發功能:echo 1 > /…

    2017-03-26
  • rpm與yum的初步學習

    rpm與yum的初步學習   我們在使用linux系統時需要安裝和卸載軟件,我們這節就先來看一下rpm和yum的初步簡單實用。 linux軟件安裝:   安裝程序的方式:      通用二進制格式:直接解壓壓縮文件,就可以使用。但一定要注意安裝平臺。     &nbsp…

    Linux干貨 2016-08-24
  • 馬哥教育網絡20期+第五周練習博客

    1、  顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; [root@localhost ~]# grep "^[[:space:]]\+.*" /boot/grub/grub.conf          root (hd0…

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