Linux基本知識之echo命令詳解

該博文以CentOS6.8_x86_64系統為基礎,Xshell使用pts/X終端登錄CentOS6.8系統,以root身份登錄系統。

為什么學習echo命令?

    echo是一種最常用的與廣泛使用的內置于Linux的bash和C shell的命令,通常用在腳本語言和批處理文件中來在標準輸出或者文件中顯示一行文本或者字符串。

echo命令的詳解

   功能:顯示字符

   語法:echo [-neE][字符串]

   說明:echo 會將輸入的字符串送往標準輸出。輸出的字符串間以空白字符隔開,  并在最后加上換行號

       echo "$VAR_NAME":  變量會替換,雙引號表弱引用

       echo '$VAR_NAME':  變量不會替換,強引用

       $echo –e “Enter the file name: \c”

       echo  需要使用-e  參數來打印轉義字符.

   echo命令選項:

       -n:不在字符的最后,自動換行(使用-n命令之后,發現輸入之后接著就是命令的提示符,不會換行)

     blob.png

       -e:若字符串中出現以下字符,則特別加以處理,而不會將它當成一般文字輸出

       \a:發出警告聲(我們發現當使用-e 后面接"\a"字符的時候,回車之后不會出現\a字符,反而會聽到警告聲)

     blob.png

       \b:刪除前一個字符(正常我們輸出的是hostname,當中間穿插\b之后,將前面的hostname中間的t直接刪除,顯示到屏幕上面是hosname)

     blob.png

       \c:最后不加上換行字符(命令執行的結果相當于echo -n的執行結果)

    blob.png

       \n:換行且光標移至行首(相當于在hostname中間添加了一個回車)

    blob.png

       \r:光標移至行首但不換行(相當于執行命令的時候,先打印host,然后光標移到host的h前面,然后接著打印name,用name將host覆蓋。)

    blob.png       

        \t:插入tab(相當于在打印的host之后使用一下tab鍵,再執行打印name)

    blob.png

       \\:插入\字符(在host中間插入\ls)

    blob.png

       \0nnn:插入nnn(八進制)所代表的ASCII字符

            echo -e "\033[43;31m CentOS Linux \033[0m"

        \033[43;31m:將后面CentOS Linux設置成紅色字體(31m),黃色背景(43m)

        \033[0m :將剛才設置的屬性,取消掉

    blob.png

       \xHH:插入HH(十六進制)所代表的ASCII 插入的是\xb5 打印的是個μ

    blob.png

    ASCII表

blob.png

    echo輸出顏色文本:

       echo命令改變顏色的樣式,以輸出不同顏色的文本,必須有-e選項(開啟echo中的轉義)

          eg:echo -e "\033[34;43;4;5m SAY\033[0m HELLO"(由于截圖的原因,只能顯示靜態的SAY其實,SAY是刪除的字符)

   blob.png

             \033[34;43;4;5m SAY  :設置字體顏色為藍色,背景顏色為黃色,字體加下劃線且閃爍

             \033[0m HELLO      :重新設置屏幕缺省設置,輸出字符"HELLO"

           "e"是命令echo的一個可選項,它用于激活特殊字符的解析器。"\033"引導非常規字符序列(即"\033["表示終端轉義字符開始,"\033"即退出鍵<ESC>的ASCII碼)。"m"意味著設置屬性然后結束非常規字符序列,這個例子里真正有效的字符是"34;43;4;5"和"0"。修改"34;43;4;5"可以生成不同顏色和樣式的組合,數值和編碼的前后順序沒有關系。 

   ※由于前面編碼和樣式的選擇都是改變數字即可顯示,本博文將不再截圖和贅述。※

           可以選擇的編碼如下所示(這些顏色是ANSI標準顏色):

               編碼          顏色/動作

               0            重新設置屬性到缺省設置

               1            設置粗體

               2            設置一半亮度(模擬彩色顯示器的顏色)

               4            設置下劃線(模擬彩色顯示器的顏色)

               5            設置閃爍

               7            設置反向圖象

               22           設置一般密度

               24           關閉下劃線

               25           關閉閃爍

               27           關閉反向圖象

               30           設置黑色前景

               31           設置紅色前景

               32           設置綠色前景

               33           設置黃色前景

               34           設置藍色前景

               35           設置紫色前景

               36           設置青色前景

               37           設置白色(灰色)前景

               38           在缺省的前景顏色上設置下劃線

               39           在缺省的前景顏色上關閉下劃線

               40           設置黑色背景

               41           設置紅色背景

               42           設置綠色背景

               43           設置黃色背景

               44           設置藍色背景

               45           設置紫色背景

               46           設置青色背景

               47           設置白色(灰色)背景

               49           設置缺省黑色背景

         其他有趣的代碼還有:

               \033[2J      清除屏幕

               \033[0q      關閉所有的鍵盤指示燈

               \033[1q      設置"滾動鎖定"指示燈(Scroll Lock)

               \033[2q      設置"數值鎖定"指示燈(Num Lock)

               \033[3q      設置"大寫鎖定"指示燈(Caps Lock)

               \033[15:40H   把關閉移動到第15行,40列

               \007        發蜂鳴生beep

        輸出帶有顏色的文本,echo命令必須帶有選項"-e"。

        這種方法只能暫時改變echo命令輸出的文本的樣式,logout后就恢復為默認。修改.bashrc文件,可以修改默認的顯示樣式。如:在.bashrc文件的最后面追加一行:echo -e '\033[47;30m'。

        上課布置的練習題:echo 查閃爍,下劃線,加顏色       

            *******   (7個)

             *****   (5個)

              ***    (3個) 

               *    (1個)

    echo -e "\033[33;42;4;5m*******\033[0m\n \033[31;43;4;5m*****\033[0m\n  \033[32;44;4;5m***\033[0m\n   \033[34;45;4;5m*\033[0m "

實驗輸出現象為:

ScreenGif.gif

原創文章,作者:sjsir,如若轉載,請注明出處:http://www.www58058.com/25860

(0)
sjsirsjsir
上一篇 2016-07-29 15:26
下一篇 2016-07-29 15:26

相關推薦

  • 8月3日作業

    1、三種權限rwx對文件和目錄的不同意義     文件:         r:可讀         w:可修改內容,不可刪除   &nbsp…

    Linux干貨 2016-08-05
  • 計算機及Linux系統基礎簡介

    一、計算機的組成及其功能 計算機由運算器,控制器,存儲器,輸入裝置和輸出裝置五大部件組成計算機,每一部件分別按要求執行特定的基本功能。 運算器或稱算術邏輯單元(Arithmetical and Logical Unit) 運算器的主要功能是對數據進行各種運算。這些運算除了常規的加、減、乘、除等基本的算術運算之外,還包括能進行“邏輯判斷”的邏輯處理能力,即“與…

    Linux干貨 2017-07-02
  • Linux網絡配置

    配置網絡 實現網絡組測試網絡網絡工具     基本網絡配置將Linux主機接入到網絡,需要配置網絡相關設置。一般包括如下內容:主機名IP/netmask路由:默認網關DNS服務器主DNS服務器次DNS服務器第三DNS服務器 網絡配置方式靜態指定:ifcfg: ifconfig, route, netstatip: object {link…

    Linux干貨 2017-08-19
  • N25期—第四周作業

    1、 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 cp –rf /etc/skel /home/tuser1 chmod -R go= /home/tuser1 2、 編輯/etc/group文件,添加組hado…

    Linux干貨 2016-12-26
  • Linux入門命令(一)

    已經一年沒有在接觸過Linux了,經過一個星期的Linux學習之后,又重新對她產生了興趣,本周學習了一些Linux入門級的命令: (1)     (1)tty 這個命令是查看當前所處于的中終端信息的,同樣也可以使用 who am i ,who以及w來查看終端信息. 終端也還有物理終端、虛擬終端以及偽終端之分,在虛擬機下…

    2017-07-16
  • Linux上常用文件管理命令

    1、目錄管理類的命令: mkdir, rmdir,tree,cd,pwd,ls mkdir:make directories mkdir [OPTION]… DIRECTORY… -p: 自動按需創建父目錄; -v: verbose,顯示詳細過程; -m MODE:直接給定權限; [root@centos7 ~]# mkdir -pv…

    Linux干貨 2016-11-06
欧美性久久久久