shell 之 read命令 讀取變數值

2021-09-27 13:26:32 字數 3685 閱讀 9032

從就鍵盤讀取變數的值,通常用在shell指令碼中與使用者進行互動的場合。

該命令可以一次讀取多個變數的值,變數和輸入的值都需要使用空格隔開。

在read命令後面,如果沒有指定變數名,讀取的資料將被自動賦值給特定的變數reply

引數意義/作用

-s隱藏使用者鍵入的值

-p列印提示資訊來提示使用者輸入正確的內容

-t設定使用者輸入的時間限制;超時則退出程式

-n限制使用者輸入內容的長度(單位是字元位)

-r允許使用者輸入特殊字元,如 空格、/、\、?等

語法

read 變數名
使用示例

[root@localhost shell]# read password

admin123.

[root@localhost shell]# echo $password

admin123.

[root@localhost shell]#

語法

read 變數名1 變數名2
使用示例

[root@localhost shell]# read first last

abcde fghij

[root@localhost shell]# echo $first

abcde

[root@localhost shell]# echo $last

fghij

[root@localhost shell]#

引數"-s"可以將輸入的內容隱藏起來,並賦值給指定的變數

語法

read -s 變數名
使用示例如,read -s password 可將輸入的內容隱藏起來,並賦值給password。場景為輸入使用者密碼

引數-p可以增加讓輸入的提示資訊

語法

read -p "input your password:" -s pwd
使用示例

[root@localhost shell]# read -p "input your password:" -s pwd

input your password:

[root@localhost shell]# echo $pwd

abcd123456

[root@localhost shell]#

擴充套件通過echo -n的方式也能實現同樣的提示效果

語法

echo -n "提示資訊"

;read 變數名

使用示例

[root@localhost shell]# echo -n "請輸入:";read content

請輸入:abc

引數-t可以限制使用者必須在多少秒之內輸入,否則直接退出

語法

read -t 2 變數名
使用示例

[root@localhost shell]# read -t 3 abc

[root@localhost shell]# # 3秒未輸入內容,程式自動退出

引數-n可以限制使用者輸入的內容的長度(單位是字元數量)

語法

read -n 長度值 變數名
使用示例

[root@localhost shell]# read -n 3 length

abc # 此處,輸入3個字元後,自動退出

[root@localhost shell]#

[root@localhost shell]# echo $length

abc

[root@localhost shell]# read -n 3 len

我是誰[

root@localhost shell]#

[root@localhost shell]# echo $len

我是誰[root@localhost shell]#

由上面兩例可看出,-n 後面跟的長度的單位是字元位引數-r引數,允許讓使用者輸入中的內容包括:空格/\?等特殊符號

語法

read -r 變數名
使用示例

[root@localhost shell]# read -r strange

|\d? abc

[root@localhost shell]# echo $strange

|\d? abc

[root@localhost shell]#

新建read_test.sh指令碼,內容如下

#! /bin/bash

read -p "請輸入姓名:" name

read -p "請輸入性別:" gender

read -p "請輸入年齡:" age

cat<<

eof********************

你的基本資訊如下:

姓名:$name

性別:$gender

年齡:$age

********************

eof

執行指令碼,結果如下:

Shell程式設計 read命令

1.read 讀取輸入的值 語法 read 選項 值 p 提示語句 n 字元個數 t 等待時間,秒 s 隱藏輸入 2.例子 等待3秒輸入,提示語句please input your name bin bash read t 3 p please input your name name echo n...

shell之read的使用

read命令用於接收鍵盤的標準輸入以及其它檔案的輸入,得到輸入後,read命令會將資料放到乙個標準變數中。示例 1 bin bash read s p enter you password password s 不顯示輸入,p 在read命令列指 echo hello,your password i...

shell指令碼之輸入互動read

這個 read 內部命令被用來從標準輸入讀取單行資料。這個命令可以用來讀取鍵盤輸入,當使用 重定向的時候,讀取檔案中的一行資料。這個命令有以下語法形式 read options variable.這裡的 options 是下面列出的可用選項中的乙個或多個,且 variable 是用來儲存輸入數值的乙...