您好,登錄后才能下訂單哦!
這篇文章主要介紹“Linux read命令怎么用”,在日常操作中,相信很多人在Linux read命令怎么用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”Linux read命令怎么用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
read命令 從鍵盤讀取變量的值,通常用在shell腳本中與用戶進行交互的場合了。
從鍵盤讀取變量值
該命令可以一次讀取多個變量的值,變量和輸入的值都需要使用空格隔開。在read命令后面,如果沒有指定變量名,讀取的數據將被自動賦值給特定的變量REPLY
read(選項)(參數)
-p:指定讀取值時的提示符; -t:指定讀取值時等待的時間(秒)。
變量:指定讀取值的變量名。
下面的列表給出了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 用定界符“:”結束輸入行。
從標準輸入讀取輸入并賦值給變量1987name。
#read 1987name #等待讀取輸入,直到回車后表示輸入完畢,并將輸入賦值給變量answer HelloWorld #控制臺輸入Hello #echo $1987name #打印變量 HelloWorld
等待一組輸入,每個單詞之間使用空格隔開,直到回車結束,并分別將單詞依次賦值給這三個讀入變量。
#read one two three 1 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 $REPLY stephen
等待控制臺輸入,并將輸入信息視為數組,賦值給數組變量friends,輸入信息用空格隔開數組的每個元素。
#read -a friends Tim Tom Helen #echo "They are ${friends[0]}, ${friends[1]} and ${friends[2]}." They are Tim, Tom and Helen.
補充一個終端輸入密碼時候,不讓密碼顯示出來的例子。
方法1:
#!/bin/bash read -p "輸入密碼:" -s pwd echo echo password read, is "$pwd"
方法2:
#!/bin/bash stty -echo read -p "輸入密碼:" pwd stty echo echo echo 輸入完畢。
其中,選項-echo禁止將輸出發送到終端,而選項echo則允許發送輸出。
使用read命令從鍵盤讀取變量值,并且將值賦給指定的變量,輸入如下命令:
read v1 v3 #讀取變量值
執行上面的指令以后,要求鍵入兩個數據,如下所示:
Linux c+ #輸入數據
完成之后,可以使用echo命令將指定的變量值輸出查看,輸入如下命令:
echo $v1 $v3 #輸出變量的值
執行輸出變量值的命令以后,將顯示用戶所輸入的數據值,如下所示:
Linux c+ #輸出變量值
注意:使用echo命令輸出變量值時,必須在變量名前添加符號$。否則,echo將直接輸出變量名。
到此,關于“Linux read命令怎么用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。