shell下的read命令的作用是從標准流中讀取輸入,並把讀取的內容放到某個變量中。
用法:read [-ers] [-a array] [-ddelim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name...]
此篇主要介紹參數read + -p的使用
使用read參數[-p]后,允許在[-p]后面跟一字符串,在字符串后面跟n個shell變量。n個shell變量用來接收從shell界面輸入的字符串
[-p]用法:read –p “string” var1 var2…varn當n為0時,使用默認變量REPLY接收shell界面內輸入的字符串。
例read_p.sh:
圖1.read使用參數-p
代碼解析:
[第4行]是read使用參數[-p]的一個實例,”$TIP”是跟在參數-p后面的字符串,name, sex是用來接收從shell界面輸入的變量的值。若從shell界面輸入字符串的個數剛好為2時,name,sex的值與輸入的字符串相對應。當輸入的字符串數超過2時,第一個字符串的值賦給name,剩余的字符串賦給sex。若是輸入的字符串數少於變量數,則多余的字符串值為空。
傳參數得結果:
現在shell界面輸入不同參數看其輸出結果:
<1>.
輸入:shanmu f
輸出:shanmu f
兩個變量,兩個參數,對應分配。
運行結果 圖示:
圖2.read_p.sh運行結果1
<2>
輸入:shanmu f m
輸出:shanmu f m
將多於的參數都分配給最后一個變量。
圖示:
圖3.read_p.sh運行結果2
<3>
輸入:shanmu
輸出:shanmu
(空行)
sex變量沒有接收到參數,值為空。
圖示:
圖4.read_p.sh運行結果3
總結:read 和參數 -p搭配使用,允許在read命令行中直接指定一個提示(如圖1的TIP變量的值),然后根據給定的提示在shell界面輸入相應的參數,讓給定的變量(如圖1中的變量name,sex)接收。