歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux中read命令的用法

Linux中read命令的用法   1. 簡單讀取   read命令接收標准輸入(鍵盤)的輸入或其他文件描述符的輸入,得到輸入後,read命令將數據放入一個標准變量中。下面是 read命令的最簡單形式:   C代碼   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-simple.sh       #!/bin/bash   #這裡默認會換行   echo "enter your website: "   #讀取從鍵盤的輸入   read website   echo "your website is $website"   exit 0  #退出         #直接執行shell的結果   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-simple.sh   enter your website:   www.wirelessqa.com   your website is www.wirelessqa.com       #如果想看清楚每一步的執行,可以加上-x   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh -x read-simple.sh   + echo 'enter your website: '   enter your website:   + read website   www.wirelessqa.com   + echo 'your website is www.wirelessqa.com'   your website is www.wirelessqa.com   + exit 0     2.直接跟上提示read -p C代碼   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-p.sh      #1.讀取單個變量      #!/bin/bash      read -p "enter your website: " website #這裡的變量只有一個,也可以有多個   echo "your website is $website"   exit 0       #執行結果   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-p.sh   enter your website: www.wirelessqa.com   your website is www.wirelessqa.com       #2.讀取多個變量           bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-p-more.sh       #!/bin/bash   #讀取輸入的多個變量   read -p "enter your name and website: " name website   echo "your name is $name,your websit is $website"   exit 0   #執行結果   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh -x read-p-more.sh   + read -p 'enter your name and website: ' name website   enter your name and website: bixiaopeng www.wirelessqa.com   + echo 'your name is bixiaopeng,your websit is www.wirelessqa.com'   your name is bixiaopeng,your websit is www.wirelessqa.com   + exit 0     3.計時輸入read -t    -t選項指定read命令等待輸入的秒數。當計時滿時,read命令返回一個非零退出狀態;     使用read命令存在著潛在危險。腳本很可能會停下來一直等待用戶的輸入。如果無論是否輸入數據腳本都必須繼續執行,那麼可以使用-t選項指定一個計時器。   C代碼   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-t.sh       bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ cat read-t.sh   #!/bin/bash           if read -t 10 -p "請在10秒內輸入畢小朋博客的地址: " website   then       if [ $website = "www.wirelessqa.com" ]       then           echo "你輸入的地址是對的:$website"       else           echo "你輸入的網址是錯的:$website"        fi       else           echo "對不起,你已超時,請在10秒內輸入!"   fi   exit 0       #執行結果1   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-t.sh   請在10秒內輸入畢小朋博客的地址: 對不起,你已超時,請在10秒內輸入!      #執行結果2   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-t.sh   請在10秒內輸入畢小朋博客的地址: weibo.com/wirelessqa   你輸入的網址是錯的:weibo.com/wirelessqa      #執行結果3   bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-t.sh   請在10秒內輸入畢小朋博客的地址: www.wirelessqa.com   你輸入的地址是對的:www.wirelessqa.com     4.計數輸入read -n數量   當輸入的字符數目達到預定數目時,自動退出,並將輸入的數據賦值給變量   01 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-n.sh 02   03 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ cat read-n.sh 04 #!/bin/bash 05   06 #例子1.只接收一個輸入就退出 07 read -n1 -p "你喜歡老畢的博客嗎[y/n]? " answer 08 case $answer in 09 Y | y) 10    echo " 好,謝謝哈!";; 11 N | n) 12    echo " oh,我會繼續努力的!";; 13 *) 14    echo " 輸入錯誤,請輸入y/n";; 15 esac 16   17 #例子2.只接收2個輸入就退出 18 read -n2 -p "請隨便輸入兩個字符: " any 19 echo " 您輸入的兩個字符是:$any" 20 exit 0 21   22 #執行結果 23 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-n.sh 24 你喜歡老畢的博客嗎[y/n]? n oh,我會繼續努力的! 25 請隨便輸入兩個字符: ai 您輸入的兩個字符是:ai   5.隱藏輸入read -s   01 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-s.sh 02 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ cat read-s.sh 03 #!/bin/bash 04 #如果想讓用戶的輸入不顯示在屏幕上,請使用read -s 05 read -s -p "請輸入你的密碼: " pass 06 echo 07 echo "你的密碼是: $pass" 08 exit 0 09   10 #執行結果 11 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-s.sh 12 請輸入你的密碼: 13 你的密碼是: bixiaopeng   6.讀取文件   每次調用read命令都會讀取文件中的”一行”文本。當文件沒有可讀的行時,read命令將以非零狀態退出。     通過什麼樣的方法將文件中的數據傳給read呢?使用cat命令並通過管道將結果直接傳送給包含read命令的while命令     01 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ vi read-file.sh 02   03 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ cat read-file.sh 04 #!/bin/bash 05   06 count=1 07 cat read-s.sh |while read line #通過cat read-s.sh文件的輸出,作為read 的輸入給line 08 do 09    echo "$count: $line" 10    count=$[ $count + 1 ] 11 done 12 echo "結束" 13 exit 0 14   15 #執行結果 16 bixiaopeng@bixiaopengtekiMacBook-Pro linuxTest$ sh read-file.sh 17 1: #!/bin/bash 18 2: #如果想讓用戶的輸入不顯示在屏幕上,請使用read -s 19 3: read -s -p "請輸入你的密碼: " pass 20 4: echo 21 5: echo "你的密碼是: $pass" 22 6: exit 0 23 結束  
Copyright © Linux教程網 All Rights Reserved