日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

Linux系统中read的用法,Linux中read命令的用法

發布時間:2025/3/15 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux系统中read的用法,Linux中read命令的用法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1. 簡單讀取

read命令接收標準輸入(鍵盤)的輸入或其他文件描述符的輸入,得到輸入后,read命令將數據放入一個標準變量中。下面是 read命令的最簡單形式:

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

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選項指定一個計時器。

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?$answerin

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$ shread-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$ shread-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$ shread-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

結束

作者:畢小朋 ?出處: http://www.wirelessqa.com歡迎轉載或分享,但請務必聲明文章出處。如果文章對您有幫助,希望您能推薦或關注。

-a 后跟一個變量,該變量會被認為是個數組,然后給其賦值,默認是以空格為分割符。

-d 后面跟一個標志符,其實只有其后的第一個字符有用,作為結束的標志,會舉例說? 明。

-p 后面跟提示信息,即在輸入前打印提示信息。

-e 在輸入的時候可以時候命令補全功能。

-n 后跟一個數字,定義輸入文本的長度,很實用。

-r 屏蔽\,如果沒有該選項,則\作為一個轉義字符,有的話 \就是個正常的字符了。

-s 安靜模式,在輸入字符時不再屏幕上顯示,例如login時輸入密碼。

-t 后面跟秒數,定義輸入字符的等待時間。

-u 后面跟fd,從文件描述符中讀入,該文件描述符可以是exec新開啟的。

總結

以上是生活随笔為你收集整理的Linux系统中read的用法,Linux中read命令的用法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。