標籤:style blog http ar color 使用 sp strong on
轉自:http://www.1987.name/151.html
read命令是用於從終端或者檔案中讀取輸入的內部命令,read命令讀取整行輸入,每行末尾的分行符號不被讀入。在read命令後面,如果沒有指定變數名,讀取的資料將被自動賦值給特定的變數REPLY。下面的列表給出了read命令的常用方式:
read 1987name從標準輸入讀取輸入並賦值給變數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用定界符“:”結束輸入行。
read命令樣本
從標準輸入讀取輸入並賦值給變數1987name。
#read 1987name #等待讀取輸入,直到斷行符號後表示輸入完畢,並將輸入賦值給變數answerHelloWorld #控制台輸入Hello#echo $1987name #列印變數HelloWorld
等待一組輸入,每個單詞之間使用空格隔開,直到斷行符號結束,並分別將單詞依次賦值給這三個讀入變數。
#read one two three1 2 3 #在控制台輸入1 2 3,它們之間用空格隔開。#echo "one = $one, two = $two, three = $three"one = 1, two = 2, three = 3
REPLY樣本
#read #等待控制台輸入,並將結果賦值給特定內建變數REPLY。This is REPLY #在控制台輸入該行。#echo $REPLY #列印輸出特定內建變數REPLY,以確認是否被正確賦值。This is REPLY
-p選項樣本
#read -p "Enter your name: " #輸出文本提示,同時等待輸入,並將結果賦值給REPLY。Enter you name: stephen #在提示文本之後輸入stephen#echo $REPLYstephen
等待控制台輸入,並將輸入資訊視為數組,賦值給陣列變數friends,輸入資訊用空格隔開數組的每個元素。
#read -a friendsTim Tom Helen#echo "They are ${friends[0]}, ${friends[1]} and ${friends[2]}."They are Tim, Tom and Helen.
補充一個終端輸入密碼時候,不讓密碼顯示出來的例子。
方法1:
#!/bin/bashread -p "輸入密碼:" -s pwdechoecho password read, is "$pwd"
方法2:
#!/bin/bashstty -echoread -p "輸入密碼:" pwdstty echoechoecho 輸入完畢。
其中,選項-echo禁止將輸出發送到終端,而選項echo則允許發送輸出。
[Shell學習筆記] read命令從鍵盤或檔案中擷取標準輸入(轉載)