国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Linux > 正文

深入理解Shell輸出顏色與控制

2019-10-26 18:49:43
字體:
來源:轉載
供稿:網友

前言

大家都知道使用ls命令列出文件列表時,不同的文件類型會用不同的顏色顯示。那么如何實現這樣帶顏色的文本輸出呢?答案并不復雜,不管是用shell還是C語言。

一、shell下的實現方法

先來講在shell下,如何實現。用echo命令就可以實現,參看以下例子:

  echo -e "33[32mHello, world!"

當你在終端里敲下這條命令后,是不是發現系統用綠色輸出了"Hello,world!",不止如此,連之后的命令提示符都變成了綠色?不要著急,聽我繼續說。echo命令-e選項的作用是激活終端對反斜線轉義符(即)的解釋。引號內33用于引導非常規字符序列,在這里的作用就是引導設置輸出屬性,后邊的[32m就是將前景色設置為綠色,字母m表示設置的屬性類別,數字代表屬性值。

設置可以單獨使用,例如:

  echo -e "33[0m"

這行命令的作用是恢復屬性為默認值,也就是說0m設置項用于恢復默認值。現在你的終端是不是又一切正常了?

理解了這些,剩下的就簡單了。用這種命令,除了設置文本前景色,還可以設置很多屬性。

下邊列出其他的設置項:

  33[0m 關閉所有屬性  33[1m 設置高亮度  33[4m 下劃線  33[5m 閃爍  33[7m 反顯  33[8m 消隱  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 顯示光標

各數字所代表的顏色如下:

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

     40:黑

     41:深紅

     42:綠

     43:黃色

     44:藍色

     45:紫色

     46:深綠

     47:白色

字顏色:30-----------39

     30:黑

     31:紅 

     32:綠

     33:黃

     34:藍色

     35:紫色

     36:深綠 

     37:白色

另外,同類的多種設置項可以組合在一起,中間用分號(;)隔開。

如下:

  echo -e "33[20;1H33[1;4;32mHello,world33[0m"

這行命令首先33[20;1H將光標移動到終端第20行第1列,之后的33[1;4;32m將文本屬性設置為高亮、帶下劃線且顏色為綠色,然后輸出Hello,world;最后33[0m將終端屬性恢復為默認值,這樣就不會看到連命令完成后的命令提示符也變了樣兒了。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 景谷| 班玛县| 广南县| 盐亭县| 临颍县| 会昌县| 石屏县| 莒南县| 栾川县| 柳河县| 阳曲县| 炉霍县| 蒲城县| 托克托县| 崇州市| 新民市| 垣曲县| 徐汇区| 淮南市| 临安市| 应城市| 区。| 南江县| 自贡市| 山东省| 望谟县| 崇仁县| 大石桥市| 太白县| 酒泉市| 柳林县| 五指山市| 屯留县| 南漳县| 淄博市| 浙江省| 永济市| 鹰潭市| 留坝县| 白城市| 邳州市|