黄色片网站免费观看-黄色片网站观看-黄色片网站大全-黄色片视频网-色偷偷网址-色偷偷网站

read

從鍵盤(pán)讀取變量值

補(bǔ)充說(shuō)明

read命令 從鍵盤(pán)讀取變量的值,通常用在shell腳本中與用戶(hù)進(jìn)行交互的場(chǎng)合。該命令可以一次讀取多個(gè)變量的值,變量和輸入的值都需要使用空格隔開(kāi)。在read命令后面,如果沒(méi)有指定變量名,讀取的數(shù)據(jù)將被自動(dòng)賦值給特定的變量REPLY

語(yǔ)法

read(選項(xiàng))(參數(shù))

選項(xiàng)

-p:指定讀取值時(shí)的提示符;
-t:指定讀取值時(shí)等待的時(shí)間(秒)。

參數(shù)

變量:指定讀取值的變量名。

實(shí)例

下面的列表給出了read命令的常用方式:

read 1987name
從標(biāo)準(zhǔn)輸入讀取輸入并賦值給變量1987name。
read first last
從標(biāo)準(zhǔn)輸入讀取輸入到第一個(gè)空格或者回車(chē),將輸入的第一個(gè)單詞放到變量first中,并將該行其他的輸入放在變量last中。
read
從標(biāo)準(zhǔn)輸入讀取一行并賦值給特定變量REPLY
read -a arrayname
把單詞清單讀入arrayname的數(shù)組里。
read -p "text"
打印提示(text),等待輸入,并將輸入存儲(chǔ)在REPLY中。
read -r line
允許輸入包含反斜杠。
read -t 3
指定讀取等待時(shí)間為3秒。
read -n 2 var
從輸入中讀取兩個(gè)字符并存入變量var,不需要按回車(chē)讀取。
read -d ":" var
用定界符“:”結(jié)束輸入行。

read命令示例

從標(biāo)準(zhǔn)輸入讀取輸入并賦值給變量1987name。

#read 1987name        #等待讀取輸入,直到回車(chē)后表示輸入完畢,并將輸入賦值給變量answer
HelloWorld            #控制臺(tái)輸入Hello

#echo $1987name       #打印變量
HelloWorld

等待一組輸入,每個(gè)單詞之間使用空格隔開(kāi),直到回車(chē)結(jié)束,并分別將單詞依次賦值給這三個(gè)讀入變量。

#read one two three
1 2 3                   #在控制臺(tái)輸入1 2 3,它們之間用空格隔開(kāi)。

#echo "one = $one, two = $two, three = $three"
one = 1, two = 2, three = 3

REPLY示例

#read                  #等待控制臺(tái)輸入,并將結(jié)果賦值給特定內(nèi)置變量REPLY。
This is REPLY          #在控制臺(tái)輸入該行。 

#echo $REPLY           #打印輸出特定內(nèi)置變量REPLY,以確認(rèn)是否被正確賦值。

This is REPLY

-p選項(xiàng)示例

#read -p "Enter your name: "            #輸出文本提示,同時(shí)等待輸入,并將結(jié)果賦值給REPLY。
Enter you name: stephen                 #在提示文本之后輸入stephen

#echo $REPLY
stephen

等待控制臺(tái)輸入,并將輸入信息視為數(shù)組,賦值給數(shù)組變量friends,輸入信息用空格隔開(kāi)數(shù)組的每個(gè)元素。

#read -a friends
Tim Tom Helen

#echo "They are ${friends[0]}, ${friends[1]} and ${friends[2]}."
They are Tim, Tom and Helen.

補(bǔ)充一個(gè)終端輸入密碼時(shí)候,不讓密碼顯示出來(lái)的例子。

方法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 輸入完畢。

其中,選項(xiàng)-echo禁止將輸出發(fā)送到終端,而選項(xiàng)echo則允許發(fā)送輸出。

使用read命令從鍵盤(pán)讀取變量值,并且將值賦給指定的變量,輸入如下命令:

read v1 v3          #讀取變量值

執(zhí)行上面的指令以后,要求鍵入兩個(gè)數(shù)據(jù),如下所示:

Linux c+            #輸入數(shù)據(jù)

完成之后,可以使用echo命令將指定的變量值輸出查看,輸入如下命令:

echo $v1 $v3       #輸出變量的值

執(zhí)行輸出變量值的命令以后,將顯示用戶(hù)所輸入的數(shù)據(jù)值,如下所示:

Linux c+           #輸出變量值

注意:使用echo命令輸出變量值時(shí),必須在變量名前添加符號(hào)$。否則,echo將直接輸出變量名。