最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Linux read命令的使用

 更新時(shí)間:2020年08月15日 15:45:09   作者:Dabelv  
這篇文章主要介紹了Linux read命令的使用,幫助大家更好的理解和學(xué)習(xí)Linux,感興趣的朋友可以了解下

1.命令簡(jiǎn)介

read命令是Shell內(nèi)建命令,用于從標(biāo)準(zhǔn)輸入或-u選項(xiàng)指定的文件描述符中讀取單行,并將讀取的單行根據(jù)IFS變量分割成多個(gè)字段,并將分割后的字段分別賦值給指定的變量列表var_name。第一個(gè)字段分配給第一個(gè)變量var_name1,第二個(gè)字段分配給第二個(gè)變量var_name2,依次到結(jié)束。如果指定的變量名少于字段數(shù)量,則多出的字段連同分隔符分配給最后一個(gè)var_name,如果指定的變量命令多于字段數(shù)量,則多出的變量賦值為空。如果沒(méi)有指定任何var_name,則分割后的所有字段都存儲(chǔ)在特定變量REPLY中。當(dāng)然,其不僅可以賦值變量,還可以賦值數(shù)組。

IFS(Internal Field Separator)變量是Shell內(nèi)建的環(huán)境變量,用于read命令將讀取的單行分隔為多個(gè)字段。默認(rèn)取值為。

REPLY變量也是Shell內(nèi)建的環(huán)境變量,當(dāng)read命令未指明接收變量時(shí),用于接收read命令讀取的單行內(nèi)容。

2.命令格式

read [-ers] [-a aname] [-d delim] [-i text] [-n nchars] [-N nchars] [-p prompt] [-t timeout] [-u fd] [name ...]

3.選項(xiàng)說(shuō)明

-a [aname]:將分裂后的字段依次存儲(chǔ)到指定的數(shù)組中,存儲(chǔ)的起始位置從數(shù)組的下標(biāo)0開(kāi)始
-d [delim]:后跟一個(gè)標(biāo)志符,只有第一個(gè)字符有用,用以取代換行符作為行的結(jié)束標(biāo)志
-e:在輸入的時(shí)候可以使用命令補(bǔ)全功能,使用Tab鍵可自動(dòng)不全當(dāng)前目錄下文件
-i [text]:If readline is being used to read the line, text is placed into the editing buffer before editing begins
-n [nchars]:后跟一個(gè)數(shù)字,定義輸入文本的長(zhǎng)度,而不是讀取整行
-N [nchars]:后跟一個(gè)數(shù)字,定義輸入文本的長(zhǎng)度,而不是讀取整行。但是如果一行不足nchars個(gè)字符,則忽略行分隔符繼續(xù)讀取下一行
-p [prompt]:從終端讀取輸入時(shí),在輸入前打印提示信息
-r:屏蔽反斜杠\,如果沒(méi)有該選項(xiàng),則\作為一個(gè)轉(zhuǎn)義字符,有的話\就是個(gè)正常的字符了
-s:安靜模式,在輸入字符時(shí)不再屏幕上顯示,例如login時(shí)輸入密碼
-t [timeout]:后面跟秒數(shù),定義輸入字符的等待時(shí)間
-u [fd]:后面跟文件描述符fd,從文件描述符中讀取

4.常用示例

(1)如果沒(méi)有指定變量,read會(huì)把傳入的值傳給REPLY,只要調(diào)用REPLY,只要調(diào)用REPLY,只要調(diào)用REPLY就可以引用。

[root@TENCENT64 ~]# read;echo "\$REPLY:$REPLY"
dablelv
$REPLY:dablelv

(2)read從終端讀取時(shí)指定一個(gè)提示語(yǔ)

[root@TENCENT64 ~]# read -p"input u password:";echo "\$REPLY:$REPLY"
input u password:123456
$REPLY:123456

(3)-t參數(shù)指定 read 命令等待輸入的秒數(shù),當(dāng)計(jì)時(shí)滿時(shí),read命令返回一個(gè)非零退出狀態(tài)碼。

#!/bin/bash

if read -t 5 -p "輸入網(wǎng)站名:" name
then
  echo "你輸入的網(wǎng)站名是 $website"
else
  echo "\n抱歉,你輸入超時(shí)了。"
fi
exit 0

執(zhí)行程序不輸入,等待5秒后:

輸入網(wǎng)站名:
抱歉,你輸入超時(shí)了

(4)除了控制輸入時(shí)間,還可以使用-n選項(xiàng)控制輸入的字符數(shù)量。當(dāng)輸入的字符數(shù)目達(dá)到預(yù)定數(shù)目時(shí),自動(dòng)退出,并將輸入的數(shù)據(jù)賦值給變量。例如只接收2個(gè)輸入就退出:

#!/bin/bash

read -n2 -p "請(qǐng)隨便輸入兩個(gè)字符: " any
echo "\n您輸入的兩個(gè)字符是:$any"
exit 0

(5)-s選項(xiàng)能夠使輸入的數(shù)據(jù)不顯示在命令終端上(實(shí)際上,輸入的內(nèi)容是顯示的,只是read命令將文本顏色設(shè)置成與背景相同的顏色)。輸入密碼常用這個(gè)選項(xiàng)。

#!/bin/bash

read -s -p "請(qǐng)輸入您的密碼:" pass
echo "\n您輸入的密碼是 $pass"
exit 0

執(zhí)行程序輸入密碼后是不顯示的:

請(qǐng)輸入您的密碼:
您輸入的密碼是 runoob

(6)讀取文件

每次調(diào)用 read 命令都會(huì)讀取文件中的 “一行” 文本。當(dāng)文件沒(méi)有可讀的行時(shí),read 命令將以非零狀態(tài)退出。

while read var1 var2
do
	echo $var1 $var2
done < file.txt

以上就是Linux read命令的使用的詳細(xì)內(nèi)容,更多關(guān)于Linux read命令的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Linux的第二網(wǎng)卡的配置全過(guò)程

    Linux的第二網(wǎng)卡的配置全過(guò)程

    這篇文章主要介紹了Linux的第二網(wǎng)卡的配置全過(guò)程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • ssh連接超時(shí)解決方法

    ssh連接超時(shí)解決方法

    本文為大家介紹了ssh連接超時(shí)的解決方法, 另外提供一種不修改配置文件就可以解決連接超時(shí)的方法,大家參考使用吧
    2014-01-01
  • Linux系統(tǒng)中如何將普通用戶權(quán)限提升至root權(quán)限

    Linux系統(tǒng)中如何將普通用戶權(quán)限提升至root權(quán)限

    首先,使用普通用戶登錄并通過(guò)命令su-切換到臨時(shí)Root狀態(tài),接著,設(shè)置root用戶密碼并使用命令su切換到root用戶,編輯/etc/sudoers文件,修改必要的權(quán)限設(shè)置,并保存退出,然后,修改/etc/passwd文件中的用戶ID從1000改為0,最后,重啟Linux系統(tǒng)
    2024-10-10
  • CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測(cè)試示例

    CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測(cè)試示例

    這篇文章主要介紹了CentOS環(huán)境下安裝Redis3.0及phpredis擴(kuò)展測(cè)試,結(jié)合實(shí)例形式分析了CentOS下Redis安裝相關(guān)步驟、命令及phpredis擴(kuò)展的測(cè)試代碼,需要的朋友可以參考下
    2018-04-04
  • Linux中使用Cron定時(shí)執(zhí)行SQL任務(wù)的實(shí)現(xiàn)步驟

    Linux中使用Cron定時(shí)執(zhí)行SQL任務(wù)的實(shí)現(xiàn)步驟

    在Linux系統(tǒng)中,計(jì)劃任務(wù)(Cron)是一種強(qiáng)大的工具,可以自動(dòng)執(zhí)行預(yù)定的任務(wù),它非常適合定期運(yùn)行腳本、備份數(shù)據(jù)、清理臨時(shí)文件等一系列重復(fù)性任務(wù),本文給大家介紹了如何在Linux中使用Cron定時(shí)執(zhí)行SQL任務(wù),需要的朋友可以參考下
    2024-11-11
  • linux本機(jī)進(jìn)程間通信之UDS詳解

    linux本機(jī)進(jìn)程間通信之UDS詳解

    文章介紹了Unix域套接字(UDS)的使用方法,這是一種在同一臺(tái)主機(jī)上不同進(jìn)程間通信的方式,UDS支持三種套接字類型:SOCK_STREAM、SOCK_DGRAM和SOCK_SEQPACKET,創(chuàng)建UDS需要指定協(xié)議族AF_UNIX和相應(yīng)的套接字類型,與AF_INET不同
    2025-03-03
  • Linux進(jìn)程基礎(chǔ)教程詳解

    Linux進(jìn)程基礎(chǔ)教程詳解

    這篇文章主要為大家詳細(xì)介紹了Linux進(jìn)程基礎(chǔ)教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • 詳解Linux環(huán)境下NodeJS的安裝配置(HelloWorld)

    詳解Linux環(huán)境下NodeJS的安裝配置(HelloWorld)

    本篇文章主要介紹了Linux環(huán)境下NodeJS的安裝配置,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2017-01-01
  • Ubuntu下搭建mail郵件服務(wù)器的方法教程

    Ubuntu下搭建mail郵件服務(wù)器的方法教程

    這篇文章主要給大家介紹了Ubuntu下搭建mail服務(wù)器的方法教程,文中介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-04-04
  • linux如何通過(guò)crontab命令定時(shí)執(zhí)行shell腳本

    linux如何通過(guò)crontab命令定時(shí)執(zhí)行shell腳本

    為保障網(wǎng)安測(cè)試活動(dòng)的順利進(jìn)行,需要設(shè)置Linux服務(wù)器上服務(wù)的定時(shí)啟停,本文介紹了通過(guò)crontab實(shí)現(xiàn)服務(wù)定時(shí)啟停的方法,包括檢查crontab安裝、編寫(xiě)啟停腳本、創(chuàng)建定時(shí)任務(wù)、日志記錄,以及問(wèn)題解決方案,通過(guò)crontab-e命令編輯定時(shí)任務(wù)
    2024-10-10

最新評(píng)論

左贡县| 江门市| 秭归县| 吉木萨尔县| 灵宝市| 万州区| 商水县| 文成县| 德清县| 宣城市| 南昌县| 定南县| 芦溪县| 柏乡县| 遵义县| 沂水县| 房山区| 育儿| 宜都市| 库伦旗| 咸阳市| 新乡县| 巨鹿县| 增城市| 桦甸市| 剑阁县| 阳山县| 来安县| 那曲县| 达拉特旗| 九龙县| 安图县| 商城县| 白水县| 芦溪县| 揭东县| 镇坪县| 太和县| 崇阳县| 凤山县| 赞皇县|