<span id="vexk9"><table id="vexk9"></table></span>

      read

      從鍵盤讀取變量值

      補(bǔ)充說明

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

      語法

      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è)空格或者回車,將輸入的第一個(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,不需要按回車讀取。
      
      read -d ":" var
      用定界符“:”結(jié)束輸入行。
      

      read命令示例

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

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

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

      #read one two three
      1 2 3                   #在控制臺(tái)輸入1 2 3,它們之間用空格隔開。
      
      #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,輸入信息用空格隔開數(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í)候,不讓密碼顯示出來的例子。

      方法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命令從鍵盤讀取變量值,并且將值賦給指定的變量,輸入如下命令:

      read v1 v3          #讀取變量值
      

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

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

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

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

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

      Linux c+           #輸出變量值
      

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

      主站蜘蛛池模板: 在线成人综合色一区| 伊人久久中文大香线蕉综合| 亚洲综合另类小说色区色噜噜| 国产成人亚洲综合无| 亚洲综合亚洲综合网成人| 伊人久久大香线蕉综合7| 激情综合亚洲色婷婷五月APP| 色悠久久久久久久综合网伊人| 色综合久久久久久久久久| 伊人久久综合影院| 狠狠色丁香久久婷婷综合蜜芽五月| 综合一区自拍亚洲综合图区| 一本色道久久99一综合| 天天综合天天做天天综合| 久久婷婷五月综合尤物色国产| 欧洲 亚洲 国产图片综合| 亚洲av综合avav中文| 色综合天天综合网国产国产人| 亚洲乱码中文字幕小综合| 亚洲国产综合人成综合网站| 综合欧美五月丁香五月| 色婷五月综激情亚洲综合| 久久国产综合精品五月天| 久久天堂av综合色无码专区 | 一本一道久久综合久久| 久久综合久久性久99毛片| 色婷婷久久综合中文网站| 99久久综合国产精品免费| 天天综合色天天桴色| 91精品国产综合久| 色拍自拍亚洲综合图区| 国产精品综合色区在线观看| 色爱区综合激情五月综合激情| 国产综合精品一区二区| 色噜噜狠狠狠狠色综合久一| 色婷婷色综合激情国产日韩| 欧洲亚洲综合一区二区三区| 亚洲国产精品综合久久网络 | 一本久道综合色婷婷五月| 亚洲精品第一综合99久久| 91在线亚洲综合在线|