成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > SHELL腳本read命令的具體用法

SHELL腳本read命令的具體用法

熱門標簽:電話機器人對家居行業(yè)幫助大嗎 合肥電銷外呼系統(tǒng)供應商 黑暗之魂3地圖標注 如何申請400的電話呀 AI智能電銷機器人壞處 地圖標注審核周期 蘭州電銷機器人加盟 沈陽ai電銷智能機器人 電商外呼系統(tǒng)排名

1.1 shell read簡介

要與Linux交互,腳本獲取鍵盤輸入的結(jié)果是必不可少的,read可以讀取鍵盤輸入的字符。

shell作為一門語言,自然也具有讀數(shù)據(jù)的功能,read就是按行從文件(或標準輸入或給定文件描述符)中讀取數(shù)據(jù)的最佳選擇。當使用管道、重定向方式組合命令時感覺達不到自己的需求時,不妨考慮下while read line。

read [-rs] [-a ARRAY] [-d delim] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [var_name1 var_name2 ...]

read命令用于從標準輸入中讀取輸入單行,并將讀取的單行根據(jù)IFS變量分裂成多個字段,并將分割后的字段分別賦值給指定的變量列表var_name。第一個字段分配給第一個變量var_name1,第二個字段分配給第二個變量var_name2,依次到結(jié)束。如果指定的變量名少于字段數(shù)量,則多出的字段數(shù)量也同樣分配給最后一個var_name,如果指定的變量命令多于字段數(shù)量,則多出的變量賦值為空。

如果沒有指定任何var_name,則分割后的所有字段都存儲在特定變量REPLY中。

選項說明:
-a:將分裂后的字段依次存儲到指定的數(shù)組中,存儲的起始位置從數(shù)組的index=0開始。
-d:指定讀取行的結(jié)束符號。默認結(jié)束符號為換行符。
-n:限制讀取N個字符就自動結(jié)束讀取,如果沒有讀滿N個字符就按下回車或遇到換行符,則也會結(jié)束讀取。
-N:嚴格要求讀滿N個字符才自動結(jié)束讀取,即使中途按下了回車或遇到了換行符也不結(jié)束。其中換行符或回車算一個字符。
-p:給出提示符。默認不支持"\n"換行,要換行需要特殊處理,見下文示例。例如,"-p 請輸入密碼:"
-r:禁止反斜線的轉(zhuǎn)義功能。這意味著"\"會變成文本的一部分。
-s:靜默模式。輸入的內(nèi)容不會回顯在屏幕上。
-t:給出超時時間,在達到超時時間時,read退出并返回錯誤。也就是說不會讀取任何內(nèi)容,即使已經(jīng)輸入了一部分。
-u:從給定文件描述符(fd=N)中讀取數(shù)據(jù)。

1.2 基本用法示例

(1).將讀取的內(nèi)容分配給數(shù)組變量,從索引號0開始分配。

[root@xuexi ~]# read -a array_test
what is you name?  

[root@xuexi ~]# echo ${array_test[@]}
what is you name?

[root@xuexi ~]# echo ${array_test[0]}
what

(2).指定讀取行的結(jié)束符號,而不再使用換行符。

[root@xuexi ~]# read -d '/'
what is you name \//    # 輸入完尾部的"/",自動結(jié)束read

由于沒有指定var_name,所以通過$REPLY變量查看read讀取的行。

[root@xuexi ~]# echo $REPLY
what is you name /

(3).限制輸入字符。

例如,輸入了5個字符后就結(jié)束。

[root@xuexi tmp]# read -n 5
12345

[root@xuexi tmp]# echo $REPLY  # 輸入12345共5個字符
12345

如果輸入的字符數(shù)小于5,按下回車會立即結(jié)束讀取。

[root@xuexi ~]# read -n 5
123

[root@xuexi ~]# echo $REPLY
123

但如果使用的是"-N 5"而不是"-n 5",則嚴格限制讀滿5個字符才結(jié)束讀取。

[root@xuexi ~]# read -N 5
123\n4

[root@xuexi ~]# read -N 5
123     # 3后的回車(換行)算是一個字符
4

(4).使用-p選項給出輸入提示。

[root@xuexi ~]# read -p "pls enter you name: "
pls enter you name: Junmajinlong

[root@xuexi ~]# echo $REPLY
Junmajinlong

"-p"選項默認不帶換行功能,且也不支持"\n"換行。但通過$'string'的方式特殊處理,就可以實現(xiàn)換行的功能。例如:

[root@node2 ~]# read -p $'Enter your name: \n'
Enter your name: 
JunMaJinLong

關于$'String'和$"String"的作用

有些時候在某些服務管理腳本中看到$"$string"或$"string",經(jīng)過一些測試,又發(fā)現(xiàn)引號外面的$有和沒有是一樣的。一直也沒去找究竟,剛才有人問了我,于是就去翻了下man bash,找到了解釋。

(1).如果沒有特殊定制bash環(huán)境或有特殊需求,$"string"和"string"是完全等價的,使用$""只是為了保證本地化。

以下是man bash關于$""的解釋:

       A  double-quoted  string  preceded by a dollar sign ($"string") will cause the string to be translated according to the current locale.  If
       the current locale is C or POSIX, the dollar sign is ignored.  If the string is translated and replaced, the replacement is double-quoted.

(2).還有$后接單引號的$'string',這在bash中被特殊對待:會將某些反斜線序列(如\n,\t,\",\'等)繼續(xù)轉(zhuǎn)義,而不認為它是字面符號(如果沒有$符號,單引號會強制將string翻譯為字面符號,包括反斜線)。簡單的例子:

[root@xuexi ~]# echo 'anb'
anb
[root@xuexi ~]# echo $'anb'
a
b

以下是man bash里關于$'的說明:

Words of the form $'string' are treated specially.  The word expands to string, with backslash-escaped characters replaced as specified  by  the ANSI C standard.  Backslash escape sequences, if present, are decoded as follows:
              a     alert (bell)
              b     backspace
              e
              E     an escape character
              f     form feed
              n     new line
              r     carriage return
              t     horizontal tab
              v     vertical tab
              \     backslash
              '     single quote
              \"     double quote
              \nnn   the eight-bit character whose value is the octal value nnn (one to three digits)
              \xHH   the eight-bit character whose value is the hexadecimal value HH (one or two hex digits)
              \uHHHH the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHH (one to four hex digits)
              \UHHHHHHHH
                     the Unicode (ISO/IEC 10646) character whose value is the hexadecimal value HHHHHHHH (one to eight hex digits)
              \cx    a control-x character

(5).禁止反斜線轉(zhuǎn)義功能。

[root@xuexi ~]# read -r
what is you name \&;

[root@xuexi ~]# echo $REPLY
what is you name \&;

(6).不回顯輸入的字符。比如輸入密碼的時候,不回顯輸入密碼。

[root@xuexi ~]# read -s -p "please enter your password: "
please enter your password:

[root@xuexi ~]# echo $REPLY
123456

(7).將讀取的行分割后賦值給變量。

[root@xuexi ~]# read var1 var2 var3
abc def  galsl djks

[root@xuexi ~]# echo $var1:::$var2:::$var3
abc:::def:::galsl djks

(8).給出輸入時間限制。沒完成的輸入將被丟棄,所以變量將賦值為空(如果在執(zhí)行read前,變量已被賦值,則此變量在read超時后將被覆蓋為空)。

[root@xuexi ~]# var=5

[root@xuexi ~]# read -t 3 var
1

[root@xuexi ~]# echo $var

1.3 while read line

如果read不明確指定按字符數(shù)讀取文件(或標準輸入),那么默認是按行讀取的,而且每讀一行都會在那一行處打上標記(即文件指針。當然,按字符數(shù)讀取也一樣會打上標記),表示這一次已經(jīng)讀取到了這個地方,使得下次仍然能夠從這里開始繼續(xù)向下讀取。這使得read結(jié)合while使用的時候,是按行讀數(shù)據(jù)非常好的方式。

例如:

[root@xuexi ~]# cat test1
a
b
c
d

# 用法示例1
[root@xuexi ~]# cat test1 | while read line;do echo $line;done
a
b
c
d

# 用法示例2
[root@xuexi ~]# while read line;do echo $line;done test1
a
b
c
d

# 用法示例3:請對比下面這條命令和上面的
[root@xuexi ~]# while read line test1;do echo $line;done

關于while read line,需要注意幾個事項:

1.強烈建議,不要在管道后面使用while read line。正如上面第1個示例中 cat test1|while read line。因為管道會開啟子shell,使得while中的命令都在子shell中執(zhí)行,而且,cat test1會一次性將test1文件所有數(shù)據(jù)裝入內(nèi)存,如果test1文件足夠大,會直接占用巨量內(nèi)存。而第二個示例使用輸入重定向的方式則每次只占用一行數(shù)據(jù)的內(nèi)存,而且是在當前shell環(huán)境下執(zhí)行的,while內(nèi)的變量賦值、數(shù)組賦值在退出while后仍然有效。

2.不要使用示例3,因為測試了就知道為什么不用,它會在每次循環(huán)的時候都重新打開test1文件,使得每次都從頭開始讀數(shù)據(jù),而不是每次從上一次標記的地方繼續(xù)讀數(shù)據(jù)。

所以,在使用while read line的時候,能用示例2的方式就用示例2,如果你還不理解或者找不到其它方式,那么直接記住這個結(jié)論。

到此這篇關于SHELL腳本read命令的具體用法的文章就介紹到這了,更多相關SHELL read命令內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • 一條命令讓你明白shell中read命令的常用參數(shù)

標簽:河池 隴南 通遼 黔南 河北 淮南 黔南 常州

巨人網(wǎng)絡通訊聲明:本文標題《SHELL腳本read命令的具體用法》,本文關鍵詞  SHELL,腳本,read,命令,的,具體,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡,涉及言論、版權(quán)與本站無關。
  • 相關文章
  • 下面列出與本文章《SHELL腳本read命令的具體用法》相關的同類信息!
  • 本頁收集關于SHELL腳本read命令的具體用法的相關信息資訊供網(wǎng)民參考!
  • 推薦文章
    亚洲欧洲高清在线| 在线观看日韩| 日韩电影视频免费| 亚洲人成绝费网站色ww| 99在线免费视频| 欧美男男freegayvideosroom| www.久久久久| 亚洲aⅴ乱码精品成人区| 91动漫在线看| 精品美女在线观看| 久久久9色精品国产一区二区三区| 国产成人一区二区三区影院| eeuss国产一区二区三区| 影音先锋男人在线资源| 亚洲国产精品嫩草影院久久| 精品国产999| 一区二区三区四区精品视频| 成人国产精品一区二区| 久久蜜桃av一区精品变态类天堂| 成人在线播放网址| 国产精品无码专区av在线播放| 国产免费内射又粗又爽密桃视频| 亚洲视频久久| mm131国产精品| 精品国产乱码久久久久久鸭王1| 夫妇露脸对白88av| 国产成人avxxxxx在线看| 欧美日韩在线精品一区二区三区| 国产精品99久久精品| 久久久亚洲国产天美传媒修理工| 中文字幕在线播| www.撸撸| 亚洲一区二区福利| 欧美一级日本a级v片| 国产精品女人久久久| 欧美一级一片| 一个人免费播放在线视频看片| 奇门遁甲1982国语版免费观看高清| 最新版天堂中文在线官网| 日日夜夜精品免费视频| 一级全黄少妇性色生活片| 波多野结衣乳巨码无在线观看| 国产乱码精品一区二区三| 国产河南妇女毛片精品久久久| 日韩欧美一区在线| 高清不卡一区二区三区| 亚洲成人在线网| 亚洲精品乱码久久久久久按摩观| 一本久道中文无码字幕av| 亚洲国产精品热久久| 色偷偷亚洲女人天堂观看欧| 麻豆乱码国产一区二区三区| 亚洲高清一区二区三区| 福利片在线看| 麻豆短视频在线观看| 亚洲欧洲精品在线观看| 91精品国产福利| 日韩免费性生活视频播放| 秋霞欧美一区二区三区视频免费| 国产精品久久久久久免费免熟| 成人在线一区二区| 国产在线观看精品一区二区三区| 26uuu亚洲综合色| 日韩福利视频| 91在线网址| 亚洲熟妇无码一区二区三区导航| 国产福利一区二区精品秒拍| 日本视频一二三区中文字幕| 成年网站在线观看| 免费自拍视频| 日本老师69xxx| 蜜桃色永久入口| 高清欧美性猛交xxxx黑人猛| 亚洲人精品午夜在线观看| 永久免费在线观看| 亚洲国产精品久久精品怡红院| 精品少妇一区二区三区免费观看| 亚洲一区二区三区无吗| 色欧美88888久久久久久影院| 日韩伦理精品| 精品福利一区二区三区免费视频| 亚洲天堂精品一区| 日日夜夜网站| 成人精品国产一区二区4080| 国产精品午夜国产小视频| 亚洲精品偷拍视频| 黄色一级视频免费| 激情乱色小说视频| 91在线三级| 精品久久国产97色综合| wwwwxxxx日韩| 黑人巨大精品一区二区在线| 免费网站黄在线观看| 91丝袜呻吟高潮美腿白嫩在线观看| 欧美一区二区三区视频在线| 色片在线免费观看| 一出一进一爽一粗一大视频| 日韩不卡一区| 一区二区三区中文| 欧美裸体一区二区三区| 欧美午夜精品久久久久免费视| 欧美性理论片在线观看片免费| 日韩精品亚洲专区在线观看| 四虎最新网站| 18视频免费网址在线观看| 欧美精品v日韩精品v国产精品| 成人h小游戏| 中文字幕视频在线免费观看| 亚洲私人黄色宅男| 自拍偷拍第1页| 日韩少妇视频| 四虎在线免费视频| 动漫精品一区二区| 九九视频九九热| 日韩欧美国产三级| 精品亚洲国内自在自线福利| 欧美在线中文| 欧美69精品久久久久久不卡| 乳奴隷乳フ辱| 亚洲色图14p| 精品国产91九色蝌蚪| 羞羞漫画网18久久app| 色精品一区二区三区| 久久精品国产亚洲av高清色欲| www视频免费看| 国产精品视频免费一区| 日本www视频在线观看| 户外露出一区二区三区| 91影视免费在线观看| 又黄又爽在线免费观看| 亚洲视频一区在线播放| 成人免费观看视频在线观看| 免费在线观看av的网站| 久久电影国产免费久久电影| 亚洲欧洲日本在线| 日韩欧美高清在线观看| 日韩高清成人在线| 最近最新中文字幕在线| 国产野外战在线播放| 国产黄色一级网站| 亚洲天堂精品一区| 国产麻豆精品一区| 97视频在线观看免费| 婷婷福利视频导航| 国产成人精品网| 国产尤物一区二区| 国产日本欧美一区二区三区在线| 在线看片不卡| 欧美寡妇性猛交xxx免费| 中文字幕免费在线看线人动作大片| 亚洲一区二区三区乱码aⅴ蜜桃女| 郴州新闻综合频道在线直播| 老司机精品视频网站| 国产片一区二区三区| 日本三级福利片| **女人18毛片一区二区| 亚洲第一香蕉视频| 国产成人亚洲欧美| 中文字幕2020第一页| 国内少妇毛片视频| 免费一区二区三区| 久久精品女人天堂av免费观看| 日韩欧美一区二区三区在线视频| 人妻少妇精品无码专区| 一区二区av| 国产精品国产亚洲精品看不卡| 99久久久无码国产精品性| 激情婷婷综合网| 成人国产精品一区| 日韩一区二区三区四区五区六区| 另类视频欧美| 黄上黄在线观看| 欧美久久婷婷综合色| 欧洲熟妇的性久久久久久| 欧美日韩免费不卡视频一区二区三区| 国产成人香蕉在线视频fuz| 黄色网在线免费看| 亚洲婷婷丁香| 日本xxx在线播放| 国产乱码精品一区二区三区精东| 强制高潮抽搐sm调教高h| 波多野结衣亚洲一二三| 加勒比av一区二区| 欧美性猛交一区二区三区| 久久久久亚洲精品一区二区三区| 11024精品一区二区三区日韩| 成年女人色毛片免费| 亚洲人成网站色在线观看| 日韩大尺度视频| 久久久久北条麻妃免费看| 在线亚洲日本| 99国产精品久久一区二区三区| 大型av综合网站| av亚洲产国偷v产偷v自拍| 欧美国产专区| 亚洲精品国产综合区久久久久久久| 国产精品久久久久一区二区| 欧美日韩国产在线一区| 东京热av一区| 精品国产乱码久久久久久浪潮| 成人综合网网址| 亚洲欧美中文日韩v在线观看| 蜜桃麻豆www久久国产精品| 91影院在线免费观看| a级片国产精品自在拍在线播放| 中文字幕2区| 在线中文资源天堂| 在线永久免费观看黄网站| 欧美最猛性xxxx高清| 女性隐私黄www网站视频| 午夜不卡影院| 丰满少妇又爽又紧又丰满电影| 日韩伦理福利| 久久精品99国产精品| 性做久久久久久久免费看| 自拍偷拍欧美精品| 欧美激情中文字幕| 台湾无码一区二区| 亚洲国产高清福利视频| 精品国产91洋老外米糕| 日日噜噜夜夜狠狠视频欧美人| 91在线播放网址| 国产精品久久久久久久久免费高清| 色视频在线观看免费| 久草成人在线视频| 精品亚洲视频在线| 亚洲男同gay网站| 波多野结衣在线aⅴ中文字幕不卡| 亚洲欧洲在线一区| 日韩女优毛片在线| 色av一区二区| 精品国产污污免费网站入口| 国产youjizz在线| 你懂的在线观看视频| 99精品视频在线观看| 日韩黄色一级视频| 欧美黄片一区二区三区| 久久精品人人做人人爽97| 亚洲午夜在线观看视频在线| 妖精视频一区二区三区免费观看| 九九九九九精品| 国产精品久久久久久久免费看| 欧美国产视频一区| 欧美精品se| 国产一线二线在线观看| 99热最新网址| 成人午夜精品无码区| 精品免费av在线| 精品国产高清a毛片无毒不卡| 丁香五六月婷婷久久激情| 亚洲免费福利视频| 国产精品三级久久久久久电影| 久久国产精品亚洲人一区二区三区| 国产精品尤物福利片在线观看| 中文字幕日韩在线观看| 久久国产精品免费观看| 992tv快乐视频| 一区二区三区回区在观看免费视频| 播放一区二区| 狠狠色噜噜狠狠狠888奇米| 91情侣偷在线精品国产| 波多野结衣不卡| 成人免费观看www在线| 午夜不卡一区| 国产在线视频在线| 日韩欧美在线一区| 欧美人体做爰大胆视频| 精品亚洲永久免费| 欧美精品一区二区三区蜜桃视频| 丁香花在线高清完整版视频| 国产精品免费一区二区三区| 亚洲第一狼人区| 免费视频一区二区三区在线观看| 日本伦理一区二区| 日本精品国语自产拍在线观看| 亚洲成熟女性毛茸茸| 黄页网站在线观看免费| 亚洲激情自拍图| 日产乱码一卡二卡三免费| 成人线上视频| 精品一区二区三区在线观看视频| 成人免费黄色在线| 国产欧美久久久| 精品欧美黑人一区二区三区| 成av人免费青青久| 中文字幕乱码人妻综合二区三区| 欧美日韩一级二级三级| 51妺嘿嘿午夜福利| 三级毛片在线| 亚洲国产第一页| 日韩精品第一页| 最近免费中文字幕mv视频| 国产精品jvid在线观看| 国内精品卡一卡二卡三| aaaaa黄色片| 欧美虐宫另类残忍视频| 疯狂欧洲av久久成人av电影| 污污网站免费观看| 在线免费一级片| 一区二区三区日| 欧美在线视频在线播放完整版免费观看| 国产亚洲成av人片在线观看| 国产精品久久国产三级国电话系列| 日韩影视高清在线观看| 欧美成人日本| 国产一级做a爱片久久毛片a| 一本在线高清不卡dvd| 亚洲一区欧美| jizzjizzji欧美| 先锋成人av| caoporm超碰国产精品| 国产欧美在线观看免费| 美女被内谢流白浆高视频| 粉嫩av蜜桃av蜜臀av| 三级中文字幕在线观看| caoporn-草棚在线视频最| 亚洲 欧美 激情 另类| 最新精品国偷自产在线| 久久免费99精品久久久久久| 成人免费视频在线观看| 国产熟女高潮视频| 亚洲天堂免费| 一本色道久久综合亚洲精品图片| 91精品国产乱码久久久竹菊| 免费毛片视频网站| 免费中文字幕av| 天天操天天操天天| 日日摸夜夜爽人人添|