日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中read函数的用法,Linux中read命令的简介及使用方法

發布時間:2023/12/3 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中read函数的用法,Linux中read命令的简介及使用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux中read命令的簡介及使用方法

發布時間:2020-08-17 16:40:04

來源:億速云

閱讀:107

作者:小新

這篇文章給大家分享的是有關Linux中read命令的簡介及使用方法的內容。小編覺得挺實用的,因此分享給大家做個參考。一起跟隨小編過來看看吧。

1.命令簡介

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

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

REPLY變量也是Shell內建的環境變量,當read命令未指明接收變量時,用于接收read命令讀取的單行內容。

2.命令格式

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

3.選項說明

-a [aname]:將分裂后的字段依次存儲到指定的數組中,存儲的起始位置從數組的下標0開始

-d [delim]:后跟一個標志符,只有第一個字符有用,用以取代換行符作為行的結束標志

-e:在輸入的時候可以使用命令補全功能,使用Tab鍵可自動不全當前目錄下文件

-i [text]:If readline is being used to read the line, text is placed into the editing buffer before editing begins

-n [nchars]:后跟一個數字,定義輸入文本的長度,而不是讀取整行

-N [nchars]:后跟一個數字,定義輸入文本的長度,而不是讀取整行。但是如果一行不足nchars個字符,則忽略行分隔符繼續讀取下一行

-p [prompt]:從終端讀取輸入時,在輸入前打印提示信息

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

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

-t [timeout]:后面跟秒數,定義輸入字符的等待時間

-u [fd]:后面跟文件描述符fd,從文件描述符中讀取

4.常用示例

(1)如果沒有指定變量,read會把傳入的值傳給REPLY,只要調用REPLY,只要調用REPLY,只要調用REPLY就可以引用。

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

dablelv

$REPLY:dablelv

(2)read從終端讀取時指定一個提示語

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

input u password:123456

$REPLY:123456

(3)-t參數指定 read 命令等待輸入的秒數,當計時滿時,read命令返回一個非零退出狀態碼。

#!/bin/bash

if read -t 5 -p "輸入網站名:" name

then

echo "你輸入的網站名是 $website"

else

echo "\n抱歉,你輸入超時了。"

fi

exit 0

執行程序不輸入,等待5秒后:輸入網站名:

抱歉,你輸入超時了

(4)除了控制輸入時間,還可以使用-n選項控制輸入的字符數量。當輸入的字符數目達到預定數目時,自動退出,并將輸入的數據賦值給變量。例如只接收2個輸入就退出:

#!/bin/bash

read -n2 -p "請隨便輸入兩個字符: " any

echo "\n您輸入的兩個字符是:$any"

exit 0

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

#!/bin/bash

read -s -p "請輸入您的密碼:" pass

echo "\n您輸入的密碼是 $pass"

exit 0

執行程序輸入密碼后是不顯示的:請輸入您的密碼:

您輸入的密碼是 runoob

(6)讀取文件

每次調用 read 命令都會讀取文件中的 “一行” 文本。當文件沒有可讀的行時,read 命令將以非零狀態退出。

while read var1 var2

do

echo $var1 $var2

done < file.txt

感謝各位的閱讀!關于Linux中read命令的簡介及使用方法就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

總結

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

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