Linux read命令有什么用

linux中,read命令用于讀取鍵盤輸入,可以從標準輸入中讀取一行數據,并把輸入行的每個字段的值指定給shell變量,當使用重定向的時候,可以讀取文件中的一行數據,語法“read [參數] [name …]”。

Linux read命令有什么用

本教程操作環境:linux7.3系統、Dell G3電腦。

Linux read命令介紹

Linux?中的 read 命令從標準輸入中讀取一行,并把輸入行的每個字段的值指定給 shell 變量。

語法

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

參數

參數 描述
-a 后跟一個變量,該變量會被認為是個數組,然后給其賦值,默認是以空格為分割符。
-d 后面跟一個標志符,其實只有其后的第一個字符有用,作為結束的標志。
-p 后面跟提示信息,即在輸入前打印提示信息。
-e 在輸入的時候可以使用命令補全功能。
-n 后跟一個數字,定義輸入文本的長度,很實用。
-r 屏蔽,如果沒有該選項,則作為一個轉義字符,有的話 就是個正常的字符了。
-s 安靜模式,在輸入字符時不再屏幕上顯示,例如 login 時輸入密碼。
-t 后面跟秒數,定義輸入字符的等待時間。
-u 后面跟 fd,從文件描述符中讀入,該文件描述符可以是 exec 新開啟的。

說明

read 內部命令被用來從標準輸入讀取單行數據。這個命令可以用來讀取鍵盤輸入,當使用重定向的時候,可以讀取文件中的一行數據。

read命令使用示例

1、簡單讀取

#!/bin/bash echo?"請您輸入網站名:?"?? #讀取從鍵盤的輸入?? read?website?? echo?"你輸入的網站名是?$website"?? exit?0??#退出

Linux read命令有什么用

2、讀取文件

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

我們可以使用 cat 命令將結果直接傳送給包含 read 命令的 while 命令。

測試文件 test.txt 內容如下:

?AAAAAAAAAAAAAAAAAAAAAA
BBBBBBBBBBBBBBBBBBBBBB
CCCCCCCCCCCCCCCCCCCCCC
DDDDDDDDDDDDDDDDDDDDDD
================傳智播客

腳本如下,可以將腳本放到xxx.sh中進行執行

#!/bin/bash count=1 cat?test.txt?|?while?read?line?????? #?cat?命令的輸出作為read命令的輸入,read讀到>的值放在line中 do ???echo?"Line?$count:$line" ???count=$[?$count?+?1?]??????????#?注意中括號中的空格。 done echo?"finish" exit?0

Linux read命令有什么用

3、示例:?

read?1987name 從標準輸入讀取輸入并賦值給變量1987name。 ? read?first?last 從標準輸入讀取輸入到第一個空格或者回車,將輸入的第一個單詞放到變量first中,并將該行其他的輸入放在變量last中。 ? read 從標準輸入讀取一行并賦值給特定變量REPLY。 ? read?-a?arrayname 把單詞清單讀入arrayname的數組里。 ? read?-p?"text" 打印提示(text),等待輸入,并將輸入存儲在REPLY中。 ? read?-r?line 允許輸入包含反斜杠。 ? read?-t?3 指定讀取等待時間為3秒。 ? read?-n?2?var 從輸入中讀取兩個字符并存入變量var,不需要按回車讀取。 ? read?-d?":"?var 用定界符“:”結束輸入行。

補充一個終端輸入密碼時候,不讓密碼顯示出來的例子。

方法1: ? #!/bin/bash read?-p?"輸入密碼:"?-s?pwd echo echo?password?read,?is?"$pwd" ? 方法2: ? #!/bin/bash stty?-echo read?-p?"輸入密碼:"?pwd stty?echo echo echo?輸入完畢。

其中,選項-echo禁止將輸出發送到終端,而選項echo則允許發送輸出。?

?注意:使用echo命令輸出變量值時,必須在變量名前添加符號$。否則,echo將直接輸出變量名。

相關推薦:《Linux視頻教程

? 版權聲明
THE END
喜歡就支持一下吧
點贊15 分享