Linux基礎命令之echo(涉及bash命令引用及替換部分內容)
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 "\033[0m \033[45;32;5m***\033[0m\n \033[45;32;5m*\033[0m"
看起來很炫吧。
下面來對
echo -e "\033[0m \033[45;32;5m***\033[0m\n \033[45;32;5m*\033[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模式下使用“”引號吧。實在不知道也沒關係,記住就行
"\033"引導非常規字元序列(即"\033["表示終端逸出字元開始,"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 "\033[0m \033[45;32;5m***\033[0m\n \033[45;32;5m*\033[0m"
我這裡使用了45設定其背景色為紫色,32設定字型顏色也就是前景顏色為綠色,5表示閃爍模式。0m表示字元效果到此結束。
第一個\033[0m後有兩個空格,因為不想讓小三角靠邊顯示;
第二個\033[45;32;5m***顯示背景為紫字型為綠且閃爍的三個***;
第三個\033[om\n之所以加\n是因為最後一個*要換行,換行後還要接三個空格;
第四個\033[45;32;5m*顯示背景為紫字型為綠且閃爍的一個*;
第五個\033[0m字元效果到此結束。
尋找的資料:
Linu命令引用與替換
本文永久更新連結地址: