shell腳本(3)-格式化輸出


一個程序需要有0個或以上的輸入,一個或更多輸出

 

一、echo語法

1、功能:將內容輸出到默認顯示設備。

echo命令功能在顯示器上顯示一段文字,一般提到提示的作用

2、語法:echo[-ne][字符串]

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

命令選項:

-n:不在最后自動換行:

[root@localhost ~]# echo "hello world" hello world [root@localhost ~]# echo -n "hello world" hello world[root@localhost ~]#
[root@localhost ~]# echo -n "Login: ";read Login: aaa [root@localhost ~]# echo -n "date: ";date +%F date: 2021-07-03

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

轉義字符:

\a:發出警告聲

\b:刪除前一個字符

\c:最后不加上換行符

\f:換行但光標仍舊停留在原來的位置

\n:換行且光標移至行首

\r:光標移至行首,但不換行

\t:插入tab

\v與\f相同

\插入\字符

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

-help顯示幫助-version顯示版本信息

[root@localhost ~]# echo  -e "\t\t\t\a哈哈\n響了aa\ba" 哈哈 響了aa
[root@localhost test20210720]# vi time.sh
#
!/bin/bash #倒數計時腳本 for time in 'seq 9 -1 0';do echo -n -e "\b$time" sleep 1 done ech

 

二、顏色代碼

1、概念:

腳本中echo顯示內容帶顏色顯示,需要使用-e

2、格式說明:

格式: echo "/033[字背景顏色;字體顏色m字符串/033[控制碼"

例如:

[root@localhost ~]# echo -e "\033[41;36m something here \033[0m" # something here

(1)字背景顏色和文字顏色之間是英文的

(2)文字顏色后面有個m

(3)字符串前后可以沒有空格,如果有的話,輸出也是同研發的空格

3、字背景顏色范圍:40 - 49

40:黑
41:深紅
42:綠
43:×××
44:藍色
45:紫色
46:深綠
47:白色

代碼如下:

echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\033[41;37m 紅底白字 \033[0m" echo -e "\033[42;37m 綠底白字 \033[0m" echo -e "\033[43;37m 黃底白字 \033[0m" echo -e "\033[44;37m 藍底白字 \033[0m" echo -e "\033[45;37m 紫底白字 \033[0m" echo -e "\033[46;37m 天藍底白字 \033[0m" echo -e "\033[47;30m 白底黑字 \033[0m"

注:可以把所有的033換為E;所實現的效果是一樣的

例:

echo -e "\033[40;37m 黑底白字 \033[0m" echo -e "\E[40;37m 黑底白字 \E[0m"

4、字顏色:30 - 39

30:黑
31:紅
32:綠
33:黃
34:藍色
35:紫色
36:深綠
37:白色

代碼如下:

echo -e "\033[47;30m 白底黑字 \033[0m" echo -e "\033[31m 紅色字 \033[0m" echo -e "\033[32m 綠色字 \033[0m" echo -e "\033[33m 橙色字 \033[0m" echo -e "\033[34m 藍色字 \033[0m" echo -e "\033[35m 紫色字 \033[0m" echo -e "\033[36m 天藍字 \033[0m" echo -e "\033[37m 白色字 \033[0m"

5、ANSI控制碼

\33[0m 關閉所有屬性 
\33[01m 設置高亮度 
\33[04m 下划線 
\33[05m 閃爍 
\33[07m 反顯 
\33[08m 消隱 
\33[30m -- \33[37m 設置前景色 
\33[40m -- \33[47m 設置背景色 
\33[nA 光標上移n行 
\33[nB 光標下移n行 
\33[nC 光標右移n行 
\33[nD 光標左移n行 
\33[y;xH設置光標位置 
\33[2J 清屏 
\33[K 清除從光標到行尾的內容 
\33[s 保存光標位置 
\33[u 恢復光標位置 
\33[?25l 隱藏光標 
\33[?25h 顯示光標

例如:

讓字體變為紅色並且不停的閃爍

echo -e "\033[31m \033[05m 請確認您的操作,輸入 [Y/N] \033[0m"

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM