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

歡迎訪問 生活随笔!

生活随笔

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

linux

Linux学习——echo和read命令用法

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

轉載自http://www.runoob.com/linux/linux-comm-read.html

http://www.178linux.com/76331

echo命令

本文列舉了echo命令的幾個常用用法并加以實例說明,以作回顧、參考。

echo命令常用作打印輸出字符串,根據echo幫助文件可以獲得以下信息:

? ? ? ?語法 echo [-neE][arg…]

? ? ? ?三個參數:

? ? ? ? ? ? ? ? ? ? ? ?-n : 關閉輸出文字時的自動換行

? ? ? ? ? ? ? ? ? ? ? ?-e : 開啟轉義字符功能( \ )

? ? ? ? ? ? ? ? ? ? ? ?-E : (默認)關閉轉義字符功能( \ )

? ? ? ?使用-e選項時,如果在字符串中鍵入以下字符,程序不會將之當成一般字符串輸出,而是會使用其轉義功能:

? ? ???? \a 發出警告聲;
? ? ? ?? \b 刪除前一個字符;
? ? ? ?? \c 最后不加換行符號并抑制字符后輸出;
? ? ? ?? \f 換行但光標仍舊停留在原來的位置;
? ? ? ?? \n 換行且光標移至行首;
? ? ? ?? \r 光標移至行首,但不換行;
? ? ? ?? \t 水平制表符;
? ? ? ?? \v 垂直制表符;
? ? ? ?? \\ 插入\字符;
? ? ? ?? \0nnn 插入nnn(八進制)所代表的ASCII字符;NNN為0到3位八進制數字
? ? ? ?? \xHH 插入HH(十六進制)所代表的ASCII字符;HH為1到2位十六進制數字

? ? ??實例

? ? ?

1.打印輸出一行字符串?

?

?2. 使用”\b” 選項

? ? ?相當于退格符????

?

? 3. 使用”\c” 選項

? ? 不打印輸出\c 以后的字符,并且結果不換行(使用-n 選項只是輸出結果不換行)?? ? ??

?4. 使用”\n” 選項

? ? ? ? ? 相當于在\n 后插入新行? ? ? ??

?5. 使用”\r” 選項

? ? ? ? ?回車,光標移至首位,但不換行? ? ? ?? ? ? ?

?

?6. 使用”\0NNN” 選項

? ? ? ? ? 返回八進制多代表的ASCII字符? ? ????

?

7. 使用”\xHH” 選項

? ? ? ? ? 返回16進制數所代表的ASCII字符


?8. 打印輸出bash環境變量?? ?? ?

?

? ? ??延伸:
? ? ? 單引號”; 雙引號””; 反向單引號引用強弱程度比較
? ? ? ? ?

?

? ? ? 從運行結果不難看出,”單引號是強引用,不完成變量替換;反向單引號是弱引用,可以實現命令和變量替換;””雙引號強弱程度據兩者中間,只可以實現變量替換

?

read命令

?

Linux read命令用于從標準輸入讀取數值。

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

?語法

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新開啟的。

實例

1、簡單讀取

#!/bin/bash #這里默認會換行 echo "輸入網站名: " #讀取從鍵盤的輸入 read website echo "你輸入的網站名是 $website" exit 0 #退出

測試結果為:

輸入網站名: www.runoob.com 你輸入的網站名是 www.runoob.com

?

2、-p 參數,允許在 read 命令行中直接指定一個提示。

#!/bin/bash read -p "輸入網站名:" website echo "你輸入的網站名是 $website" exit 0

測試結果為:

輸入網站名:www.runoob.com 你輸入的網站名是 www.runoob.com

?

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

#!/bin/bash if read -t 5 -p "輸入網站名:" name thenecho "你輸入的網站名是 $website" elseecho "\n抱歉,你輸入超時了。" fi exit 0

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

輸入網站名: 抱歉,你輸入超時了

?

4、除了輸入時間計時,還可以使用 -n 參數設置 read 命令計數輸入的字符。當輸入的字符數目達到預定數目時,自動退出,并將輸入的數據賦值給變量。

#!/bin/bash read -n1 -p "Do you want to continue [Y/N]?" answer case $answer in Y | y)echo "fine ,continue";; N | n)echo "ok,good bye";; *)echo "error choice";;esac exit 0

該例子使用了-n 選項,后接數值 1,指示 read 命令只要接受到一個字符就退出。只要按下一個字符進行回答,read 命令立即接受輸入并將其傳給變量,無需按回車鍵。

只接收 2 個輸入就退出:

#!/bin/bash read -n2 -p "請隨便輸入兩個字符: " any echo "\n您輸入的兩個字符是:$any" exit 0

執行程序輸入兩個字符:

請隨便輸入兩個字符: 12 您輸入的兩個字符是:12

?

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

#!/bin/bash read -s -p "請輸入您的密碼:" pass echo "\n您輸入的密碼是 $pass" exit 0

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

請輸入您的密碼: 您輸入的密碼是 runoob

?

6.讀取文件

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

通過什么樣的方法將文件中的數據傳給 read 呢?使用 cat 命令并通過管道將結果直接傳送給包含 read 命令的 while 命令。

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

123 456 runoob

測試代碼:

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

執行結果為:

Line 1:123 Line 2:456 Line 3:runoob finish

?

?一個簡單的實現寫博客功能的腳本

echo "Enter your title of your blog:" read -r b_title echo -e $b_title >> blog.txt date +"%F %a %R" >> blog.txt echo "Enter your body of your blog:" read -r b_body echo -e "$b_body" >> blog.txt echo >> blog.txt #echo -ne "\n" >> blog.txt echo "Your blog has been saved."

?

?

?

轉載于:https://www.cnblogs.com/wkfvawl/p/9982442.html

總結

以上是生活随笔為你收集整理的Linux学习——echo和read命令用法的全部內容,希望文章能夠幫你解決所遇到的問題。

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