歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> Linux基礎命令之echo(涉及bash命令引用及替換部分內容)

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

日期:2017/3/6 9:27:39   编辑:學習Linux

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


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命令引用與替換

本文永久更新鏈接地址:

http://xxxxxx/Linuxjc/1145137.html TechArticle

Copyright © Linux教程網 All Rights Reserved