Linux Shell的輸入彩色字型

2021-09-07 21:14:11 字數 2530 閱讀 3440

linux shell的輸入彩色字型

文字終端的顏色可以使用「ansi非常規字串行」來生成。舉例:

echo -e "\033[44;37;5m me \033[0m cool"

以上命令設定背景成為藍色,前景白色,閃爍游標,輸出字元「me」,然後重新設定螢幕到預設設定,輸出字元 「cool」。「e」是命令 echo 的乙個可選項,它用於啟用特殊字元的解析器。「\033」引導非常規字串行。「m」意味著設定屬性然後結束非常規字串行,這個例子裡真正有效的字元是 「44;37;5」 和「0」。

修改「44;37;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      設定預設黑色背景

其他有趣的**還有:

\033[2j          清除螢幕 

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

\033[1q          設定「滾動鎖定」指示燈 (scroll lock) 

\033[2q          設定「數值鎖定」指示燈 (num lock) 

\033[3q          設定「大寫鎖定」指示燈 (caps lock) 

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

\007              發蜂鳴生beep

#######################

redhat的字型和背景顏色的改變方法:

命令:ps1="[\e[32;1m\u@\h \w]\\$" 

或 export ps1="[\e[32;1m\u@\h \w]\\$" 兩者的區別請檢視環境變數的相關資料

解釋:\e[32;1m:這就是控制字型和背景顏色的轉義字元,30~37是字型顏色、40~47是背景顏色

例子中的32;1m數字的位置是可以對調的如\e[1;32m,如果是在x環境下可以更換一下1的範圍0~10,可能有的沒用處:0或者不寫(\e [0;32m或\e[;32m)顯示淺顏色,1:顯示高亮 4:加下劃線.....如果改後的效果不好,但是又還原不了,那就不寫m前面的數字,如\e[32;m,或者直接登出再登陸

\u \h \w:這是一些轉義字元,下面詳細解釋:

\d :代表日期,格式為weekday month date,例如:"mon aug 1"

\h :完整的主機名稱。例如:我的機器名稱為:fc4.linux,則這個名稱就是fc4.linux

\h :僅取主機的第乙個名字,如上例,則為fc4,.linux則被省略

\t :顯示時間為24小時格式,如:hh:mm:ss

\t :顯示時間為12小時格式

\a :顯示時間為24小時格式:hh:mm

\u :當前使用者的賬號名稱

\v :bash的版本資訊

\w :完整的工作目錄名稱。家目錄會以 ~代替

\w :利用basename取得工作目錄名稱,所以只會列出最後乙個目錄

\# :下達的第幾個命令

\$ :提示字元,如果是root時,提示符為:# ,普通使用者則為:$

\n :新建一行

字型並不侷限於乙個顏色,可以有多個顏色:

ps1="[\e[32;1m\u@\e[35;1m\h \e[31;1m\w]\\$"

以上兩個命令在登出後再登陸就失效了,用下面方法使其永久生效:

vi /etc/profile 

在「export path .....」下面新增一行:export ps1="[\e[32;1m\u@\h \w]\\$"

登出再登陸,就成功了,如果沒生效,使用source /etc/profile 命令試試,或者直接重啟機器。

Linux Shell的輸入彩色字型

echo e 033 32 49 1m done 033 39 49 0m 輸出結果 done 文字終端的顏色可以使用 ansi非常規字串行 來生成。舉例 echo e 033 44 37 5m me 033 0m cool 以上命令設定背景成為藍色,前景白色,閃爍游標,輸出字元 me 然後重新設定...

Linux Shell程式設計之標準彩色對齊列印

看到linux系統中好多軟體包括系統本身啟動的時候列印整整齊齊的 ok failed 感覺非常舒服。但是自己寫了很多shell程式,提示語句都是簡單的echo或printf,最多可以列印個彩色的狀態提示。近來總是寫公升級包 安裝包的指令碼,shell程式設計也感覺越來越順手,所以想解決這個問題。我解...

Linux shell的輸入輸出

echo echo命令可以顯示文字行或變數,或者把字串輸入到檔案 echo option string e 解析轉義字元 例如 echo e nimenhao nasfdsaf 列印發生換行 read語句可以從鍵盤或檔案的某一行文字中讀取資訊,並將其賦值給乙個變數 read var1 var2.若只...