天天看點

linux 讀 鍵盤,linux 從鍵盤讀取變量值 指令:read

read指令從鍵盤讀取變量的值,通常用在shell腳本中與使用者進行互動的場合。該指令可以一次讀取多個變量的值,變量和輸入的值都需要使用空格隔開。在read指令後面,如果沒有指定變量名,讀取的資料将被自動指派給特定的變量REPLY

文法

read (選項) (參數)

選項

-p:指定讀取值時的提示符;

-t:指定讀取值時等待的時間(秒)。

參數

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

執行個體

下面的清單給出了read指令的常用方式:

從标準輸入讀取輸入并指派給變量1987name。

read 1987 name

從标準輸入讀取輸入到第一個空格或者回車,将輸入的第一個單詞放到變量first中,并将該行其他的輸入放在變量last中。

read first last

從标準輸入讀取一行并指派給特定變量REPLY。

read

把單詞清單讀入arrayname的數組裡。

read -a arrayname

列印提示(text),等待輸入,并将輸入存儲在REPLY中。

read -p "text"

允許輸入包含反斜杠。

read -r line

指定讀取等待時間為3秒。

read -t 3

從輸入中讀取兩個字元并存入變量var,不需要按回車讀取。

read -n 2 var

用定界符“:”結束輸入行。

read -d ":" var

read指令示例

從标準輸入讀取輸入并指派給變量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則允許發送輸出。

1、使用read指令從鍵盤讀取變量值,并且将值賦給指定的變量,輸入如下指令:

read v1 v3 #讀取變量值

2、執行上面的指令以後,要求鍵入兩個資料,如下所示:

Linux c+ #輸入資料

3、完成之後,可以使用echo指令将指定的變量值輸出檢視,輸入如下指令:

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

4、執行輸出變量值的指令以後,将顯示使用者所輸入的資料值,如下所示:

Linux c+ #輸出變量值

注意:使用echo指令輸出變量值時,必須在變量名前添加符号$。否則,echo将直接輸出變量名。