首頁 > 軟體

Linux基礎命令之echo(涉及bash命令參照及替換部分內容)

2020-06-16 17:37:15

echo是Linux中較為常見的命令,特別是在bash的指令碼編寫中它的靈活運用是必不可少的。

在man手冊中的解釋是:display a line of text,翻譯過來就是回顯或者再通俗點說就是顯示字元或數位。解釋看起來很簡單,不過這個命令可以實現的功能卻很豐富。

我之所以寫關於echo的內容是因為一項作業,作業的內容是讓顯示一個由任意字元組成的倒三角圖形,且要求字元閃爍並有字型顏色跟背景色。

這個作業先擱置一邊稍後再解決。

先介紹下echo的基本資訊

以下是從CentOS-6.8中的man手冊裡擷取的echo命令使用資訊。

NAME  命令名
      echo - display a line of text  展示一行文字,即回顯
 
SYNOPSIS  命令的使用格式
      echo [SHORT-OPTION]... [STRING]...  echo [短格式]...[字串]...
      echo LONG-OPTION                    echo 長格式
 
DESCRIPTION    命令描述
      Echo the STRING(s) to standard output.  echo字串至標準輸出
 
      -n    do not output the trailing newline  輸出後不換行
 
      -e    enable interpretation of backslash escapes 使跳脫字元生效
 
      -E    disable interpretation of backslash escapes (default) 禁用跳脫字元
 
      --help display this help and exit  顯示使用幫助即退出資訊
 
      --version                      版本
              output version information and exit  輸出所用版本資訊
         
        If -e is in effect, the following sequences are recognized: 如果-e生效後,如下的轉移字元就可以被識別
 
          backslash  反斜線跳脫符
       
      a    alert (BEL) 提示符
 
      b    backspace  退格符
 
      c    produce no further output 
 
      e    escape 逃逸符
 
      f    form feed
 
      n    new line  換行符
 
      r    carriage return 
 
      t    horizontal tab 水平製表符
 
      v    vertical tab  垂直製表符

  以上是echo的命令及常用的使用資訊。

    這裡可以看出來echo的命令最豐富的是在於-e使跳脫符生效。在-e模式下我們可以豐富字元的輸出形式,比如讓字元閃爍,有背景色與字型顏色。

下面我展示下我作業的一段命令來詳細說明-e模式下的echo功能。

echo -e "33[0m  33[45;32;5m***33[0mn    33[45;32;5m*33[0m"

看起來很炫吧。

下面來對

echo -e "33[0m  33[45;32;5m***33[0mn    33[45;32;5m*33[0m"

進行詳細的解析,以便大家對其有更清晰的認識

解釋:echo -e前面已有很明確的介紹,這裡就不多介紹。它的作用是開啟跳脫字元功能

“”因為它的緣故這裡先解釋下bash裡面的參照

bash裡面參照分一下幾種

$()是命令參照

# echo $(date)
2016年 07月 25日 星期一 14:37:12 CST

    它顯示的是date這個命令的執行結果資訊

    ``跟$()是一樣的

  ‘’ 弱參照:輸入的東西顯示輸入的字串

#echo 'date'
date

    這裡顯示的date這個字串

  “” 強參照

    單條命令中常用到,使其中間的跳脫字元生效。

    ${}是變數參照

#TEX=tex
# echo ${TEX}
tex

    顯示變數內容

    這部分內容看完相信大家對於bash的命令參照與替換會有了初步的認識,憑藉這些認識,我們應該可以了解為什麼在-e模式下使用“”引號吧。實在不知道也沒關係,記住就行

    "33"引導非常規字元序列(即"33["表示終端跳脫字元開始,"m"意味著設定屬性然後結束非常規字元序列,裡面有實際作用的字元是45;32;5和0,修改45;32;5可以修改不同的顏色組合,及顯示形式。45;32;5這幾個數位位置可以任意改動。

          編碼          顏色/動作
          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           設定預設黑色背景

echo -e "33[0m  33[45;32;5m***33[0mn    33[45;32;5m*33[0m"

我這裡使用了45設定其背景色為紫色,32設定字型顏色也就是前景顏色為綠色,5表示閃爍模式。0m表示字元效果到此結束。

第一個33[0m後有兩個空格,因為不想讓小三角靠邊顯示;

第二個33[45;32;5m***顯示背景為紫字型為綠且閃爍的三個***;

第三個33[omn之所以加n是因為最後一個*要換行,換行後還要接三個空格;

第四個33[45;32;5m*顯示背景為紫字型為綠且閃爍的一個*;

第五個33[0m字元效果到此結束。

查詢的資料:

http://www.linuxidc.com/Linux/2015-05/117259.htm Linu命令參照與替換

本文永久更新連結地址http://www.linuxidc.com/Linux/2016-07/133520.htm


IT145.com E-mail:sddin#qq.com