基本用法
read命令主要用於從標準輸入讀取內容或從檔案中讀取內容,並把資訊儲存到變數中。其常用用法如下所示:
read [選項] [檔案]
選項
解釋-a array
將內容讀取到數值中,變數預設為陣列且以空格做為分割符
-d delimiter
遇到指定的字元即停止讀取
-n nchars
指定最多可以讀入的字元數,即定義輸入文字的長度
-r遮蔽轉義符
-p prompt
顯示提示資訊
-s靜默模式,在輸入字元時不在終端中顯示,常用於密碼輸入等
-t timeout
指定超時時間
-u fd
從檔案描述符中讀入,該fd可以由exec開啟
用法示例
1、從標準輸入讀入
[root@localhost test]# cat read.sh
#!/bin/bash
echo -n "please input your name:"
read name
echo "hello $name"
[root@localhost test]# bash read.sh
please input your name:jack
hello jack
2、指定顯示資訊從標準輸入讀入
[root@localhost test]# cat read.sh
#!/bin/bash
# echo -n "please input your name:"
read -p "please input your name:" name
# read name
echo "hello $name"
[root@localhost test]# bash read.sh
please input your name:jack
hello jack
在以上示例中,read是一次可以接受多個引數的,如下所示:
read -p "please input your name:" firstname secondname lastname
但需要注意的事項如下:
3、指定超時時間
[root@localhost test]# cat read.sh
#!/bin/bash
if read -t 3 -p "please input your name:" firstname secondname lastname
then
echo "variable is $firstname - $secondname - $lastname"
else
echo -e "\ntimeout\n"
fi[root@localhost test]# bash read.sh
please input your name:
timeout
4、從指定檔案中讀取內容
[root@localhost test]# cat -n test.txt
1 this is test text.
2 this is second line.
3 hello world
4 c# main
5 python
# 使用-u選項
[root@localhost test]# cat readtest.sh
#!/bin/bash
exec 5< ~/test/test.txt
count=0
while read -u 5 var
do let count=$count+1
echo "line $count is $var"
done
echo "total line count is $count"
exec 5
[root@localhost test]# bash readtest.sh
line 1 is this is test text.
line 2 is this is second line.
line 3 is hello world
line 4 is c# main
line 5 is python
total line count is 5
# 使用管道
[root@localhost test]# cat readtest.sh
#!/bin/bash
count=1
cat ~/test/test.txt | while read line
do echo "current line $count - $line "
let count=$count+1
done
echo "total line count is $count"
[root@localhost test]# bash readtest.sh
current line 1 - this is test text.
current line 2 - this is second line.
current line 3 - hello world
current line 4 - c# main
current line 5 - python
total line count is 1
# 使用重定向
Linux基礎教程
主編 張同光 isbn 9787302183600 定價 34元 印刷日期 2008 10 13 出版社 清華大學出版社 圖書簡介 本書以redhat公司的linux最新版本redhat enterprise linux 5.2為藍本,堅持 理論夠用 側重實用 的原則,用案例 來講解每個知識點,對l...
linux基礎教程
使用者和組操作 linux 作業系統之所以穩定 安全,與它的 使用者和組 的管理是分不開的,我先來看下,現實生活中專案組中的簡單管理 給使用者設定操作檔案許可權的工作非常繁瑣,不要落實。linux 建立使用者的時候,會考慮給使用者建立乙個組別 系統增減檔案的時候,也會把乙個檔案劃分為乙個組別裡邊 這...
Linux基礎教程
自海燕部落格 目錄005 shell第一篇 bash 環境 006 shell第二篇 正規表示式和文字處理工具 007 shell第三篇 基本語法 十天快速入門python python從入門到web框架 python爬蟲從入門到框架 python之23種計模式實現 史上最全最通俗易懂 內容整改中 ...