婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 深入理解Shell輸出顏色與控制

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

熱門標簽:外呼電話系統(tǒng)怎么操作 德陽400電話申請 測繪地圖標注名稱 商機地圖標注 怎么在百度地圖標注公司的位置 天津電話外呼系統(tǒng)排名 百度地圖標注直線距離 智能電銷機器人有用嗎 鶴崗400電話申請

前言

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

一、shell下的實現(xiàn)方法

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

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

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

設(shè)置可以單獨使用,例如:

  echo -e "33[0m"

這行命令的作用是恢復屬性為默認值,也就是說0m設(shè)置項用于恢復默認值?,F(xiàn)在你的終端是不是又一切正常了?

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

下邊列出其他的設(shè)置項:

  33[0m 關(guān)閉所有屬性
  33[1m 設(shè)置高亮度
  33[4m 下劃線
  33[5m 閃爍
  33[7m 反顯
  33[8m 消隱
  33[30m 至 33[37m 設(shè)置前景色
  33[40m 至 33[47m 設(shè)置背景色
  33[nA 光標上移n行 
  33[nB 光標下移n行
  33[nC 光標右移n行
  33[nD 光標左移n行
  33[y;xH設(shè)置光標位置
  33[2J 清屏
  33[K 清除從光標到行尾的內(nèi)容
  33[s 保存光標位置 
  33[u 恢復光標位置
  33[?25l 隱藏光標
  33[?25h 顯示光標

各數(shù)字所代表的顏色如下:

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

     40:黑

     41:深紅

     42:綠

     43:黃色

     44:藍色

     45:紫色

     46:深綠

     47:白色

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

     30:黑

     31:紅 

     32:綠

     33:黃

     34:藍色

     35:紫色

     36:深綠 

     37:白色

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

如下:

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

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

通過以上各種命令的組合就可以實現(xiàn)對終端輸出地復雜控制。

二、如何在C編程中實現(xiàn)?

理解了以上在Shell中的實現(xiàn)方法,關(guān)于在C中如何實現(xiàn)就很簡單了。可以說只需要用printf函數(shù)代替上邊的echo -e就OK了參見下例:

  int color = 32;

  printf("33[20;1H33[1;4;%dmHello, world.33[0m", color);

這個例子類似上邊shell中最后那個例子,只是這里顏色值通過變量color來指定(當然,也可以直接指定)。

三、聯(lián)想

看到這里你可能會想,是不是在其他編程語言里也可以用類似的方法實現(xiàn)對終端輸出的控制呢?答案是肯定的!比如在python中,可以如下輸出:

  color=32

  print “33[20;1H33[1;4;%dHello, world.33[0m"%color

這個例子的效果跟上邊C的例子是相同的。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

您可能感興趣的文章:
  • Linux Shell腳本系列教程(六):數(shù)組和關(guān)聯(lián)數(shù)組
  • Linux shell tr 命令詳解
  • Linux shell 之 提取文件名和目錄名的一些方法總結(jié)
  • Linux shell常用的73條命令總結(jié)
  • python中執(zhí)行shell的兩種方法總結(jié)
  • linux shell在while中用read從鍵盤輸入的實現(xiàn)
  • shell(bash)下“time” 命令的輸出詳解
  • Shell 數(shù)組與關(guān)聯(lián)數(shù)組詳解及實例代碼

標簽:滁州 丹東 自貢 六盤水 優(yōu)質(zhì)小號 百色 武漢 鎮(zhèn)江

巨人網(wǎng)絡(luò)通訊聲明:本文標題《深入理解Shell輸出顏色與控制》,本文關(guān)鍵詞  深入,理解,Shell,輸出,顏色,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《深入理解Shell輸出顏色與控制》相關(guān)的同類信息!
  • 本頁收集關(guān)于深入理解Shell輸出顏色與控制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 松桃| 罗甸县| 淄博市| 谢通门县| 哈密市| 北票市| 阜城县| 长兴县| 博客| 江陵县| 龙胜| 青河县| 富锦市| 内黄县| 临夏县| 嘉祥县| 广丰县| 苏尼特左旗| 安新县| 丹凤县| 湘乡市| 茌平县| 长武县| 鞍山市| 泉州市| 清原| 吉木萨尔县| 尼勒克县| 玛纳斯县| 牟定县| 呼图壁县| 梁河县| 肥东县| 石嘴山市| 蓝山县| 宁津县| 江西省| 新密市| 渑池县| 海盐县| 兰州市|