最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

在shell或者perl中改變字體或背景的顏色

 更新時間:2014年04月09日 17:36:59   投稿:mdxy-dxy  
有時候在運行別人寫的腳本的時候,在黑乎乎的終端下顯示了不同的顏色,好生的羨慕啊,今天就來分享一下,分別在shell和perl中怎么改變我們輸出的字體的顏色

在shell下提到終端的顏色的時候不得不提到幾個提示符變量:

PS1:默認提示符,也就是遠程登上系統(tǒng)之后,打開終端,我們天天見到的那個熟悉的提示符;

[root@vps ~]$echo $PS1
[\u@\h \W]$

PS2:就是我們命令一行寫不完在我們命令行下我們打上”\”,另起一行所顯示的那個;

[root@vps ~]$echo “hello” \
> “world”
hello world
[root@vps ~]$echo $PS1
[\u@\h \W]$

PS3:就是我們在shell腳本中要用select的時候顯示的那個;

復(fù)制代碼 代碼如下:

#!/bin/bash
#PS3=”Select a script language (1-4): ”
select i in perl php python shell exit
do
case $i in
perl) echo “I like perl”;;
php) echo “php is good”;;
python) echo “xiangjun like python”;;
shell) echo “shell is my favourite”;;
exit) exit;;
esac
done

[root@vps tmp]$bash select.sh
1) perl
2) php
3) python
4) shell
5) exit
#? 1
I like perl
#?

默認是”#?”,呵呵,我們在腳本中改變一下

復(fù)制代碼 代碼如下:

#!/bin/bash
PS3=”Select a script language (1-4): “
select i in perl php python shell exit
do
case $i in
perl) echo “I like perl”;;
php) echo “php is good”;;
python) echo “xiangjun like python”;;
shell) echo “shell is my favourite”;;
exit) exit;;
esac
done

[root@vps tmp]$bash select.sh
1) perl
2) php
3) python
4) shell
5) exit
Select a script language (1-4): 3
xiangjun like python
Select a script language (1-4):

變了吧,哈哈。

PS4:我們調(diào)試shell腳本我們會bash -x myscripts.sh (或者在腳本中set -x)那個提示符;

復(fù)制代碼 代碼如下:

Select a script language (1-4): 5
[root@vps tmp]$bash -x select.sh
+ PS3=’Select a script language (1-4): ‘
+ select i in perl php python shell exit

就是那個”+”了,我們重置下;

復(fù)制代碼 代碼如下:

[root@vps tmp]$export PS4=”>>”
[root@vps tmp]$bash -x select.sh
>>PS3=’Select a script language (1-4): ‘
>>select i in perl php python shell exit

好了,回憶了一些基礎(chǔ)知識之后,回到我們的話題上來:,我們以PS1為例說明一下:
那這個變量是在哪里設(shè)置的呢?在我們目前的redhat(當(dāng)然包括centos了)是在/etc/bashrc文件中的:

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1=”[\u@\h \W]\\$ ”

那這些\w \u 分別代表什么意思呢?分別如下:

\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 :當(dāng)前用戶的賬號名稱
\v :BASH的版本信息
\w :完整的工作目錄名稱。家目錄會以 ~代替
\W :利用basename取得工作目錄名稱,所以只會列出最后一個目錄
\# :下達的第幾個命令
\$ :提示字符,如果是root時,提示符為:# ,普通用戶則為:$
我們可以自由的發(fā)揮我們的默認提示符該是什么樣子了,下面不要偏離我們的主題,我們的主題是顏色;




那么它的語法是什么呢?

\e[ ——表示顏色的提示的起始位置
x;ym ——表示顏色的代碼。顏色的代碼在下面有說明(當(dāng)然可以連著寫多個,之間用";"分開,比如 1;5;35m)
\e[m ——表示代顏色的提示的結(jié)束位置

x的取值為:

0 OFF
1 高亮顯示
4 underline
5 閃爍
7 反白顯示
8 不可見

y的取值:

前景 背景 顏色
---------------------------------------
30 40 黑色
31 41 紅色
32 42 綠色
33 43 黃色
34 44 藍色
35 45 紫紅色
36 46 青藍色
37 47 白色

語法說明的都告訴你了,接下來就是你自由發(fā)揮了;

在腳本中如何使用,先來個例子再說;



好了,不過如果不想影響我們后面的顏色的話,我們最好在關(guān)閉的時候這么寫:\e[0m



又閃爍又改變顏色的來一個:

echo -e '\e[35;5;1mFor Example:\e[0m'

35是顏色,5代表閃爍,1代表前景色,當(dāng)中用“;”分開,順序倒是無所謂啦;\e 可以寫成 \033;

那么在perl中呢?這個我們是借助Term::ANSIColor這個模塊的:

復(fù)制代碼 代碼如下:

#!/usr/bin/perl
use strict;
use Term::ANSIColor;
print color 'bold red';
print "Hello word\n";
print color 'reset';




這樣寫的話挺麻煩的,寫個函數(shù)算了:

復(fù)制代碼 代碼如下:

#!/usr/bin/perl
use strict;
use Term::ANSIColor;
sub ColorMessage{
my($colors,$messages) = @_;
print color "bold $colors";
print "$messages \n";
print color 'reset';
}

ColorMessage('green','Hello word ');


相關(guān)文章

  • linux下編譯boost.python簡單方法

    linux下編譯boost.python簡單方法

    下面小編就為大家?guī)硪黄猯inux下編譯boost.python簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-03-03
  • Linux中常用資源監(jiān)控命令總結(jié)

    Linux中常用資源監(jiān)控命令總結(jié)

    這篇文章主要為大家詳細介紹了Linux中常用的資源監(jiān)控命令,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • bash shell獲取當(dāng)前腳本的絕對路徑(pwd/readlink)

    bash shell獲取當(dāng)前腳本的絕對路徑(pwd/readlink)

    有時候,我們需要知道當(dāng)前執(zhí)行的輸出shell腳本的所在絕對路徑,本文主要介紹了bash shell獲取當(dāng)前腳本的絕對路徑,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-02-02
  • 1 秒內(nèi)啟動Linux的方法

    1 秒內(nèi)啟動Linux的方法

    這篇文章主要介紹了 1 秒內(nèi)啟動linux的方法,需要的朋友可以參考下
    2015-12-12
  • shell在指定目錄下批量執(zhí)行sql腳本的實例

    shell在指定目錄下批量執(zhí)行sql腳本的實例

    今天小編就為大家分享一篇shell在指定目錄下批量執(zhí)行sql腳本的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-06-06
  • Shell中實現(xiàn)“多線程”執(zhí)行腳本文件完美解決方案

    Shell中實現(xiàn)“多線程”執(zhí)行腳本文件完美解決方案

    這篇文章主要介紹了Shell中實現(xiàn)“多線程”執(zhí)行腳本文件完美解決方案,本文是針對一次調(diào)用執(zhí)行多個腳本文件并分批執(zhí)行的一個解決方法的測試和總結(jié),需要的朋友可以參考下
    2014-12-12
  • 一個Shell小腳本精準(zhǔn)統(tǒng)計Mysql每張表的行數(shù)實現(xiàn)

    一個Shell小腳本精準(zhǔn)統(tǒng)計Mysql每張表的行數(shù)實現(xiàn)

    這篇文章主要介紹了一個Shell小腳本精準(zhǔn)統(tǒng)計Mysql每張表的行數(shù)實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • Linux xargs命令詳細介紹

    Linux xargs命令詳細介紹

    這篇文章主要介紹了 Linux xargs命令詳細介紹的相關(guān)資料,xargs是給其他命令傳遞參數(shù)的一個過濾器,是構(gòu)建單行命令的重要組件之一,需要的朋友可以參考下
    2017-01-01
  • Shell自動化配置SSH免密登錄和取消SSH免密配置腳本

    Shell自動化配置SSH免密登錄和取消SSH免密配置腳本

    本文主要介紹了Shell自動化配置SSH免密登錄和取消SSH免密配置腳本,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • Linux下使用Shell腳本實現(xiàn)進程監(jiān)控的流程

    Linux下使用Shell腳本實現(xiàn)進程監(jiān)控的流程

    這篇文章主要介紹了Linux下使用Shell腳本實現(xiàn)進程監(jiān)控,在 Linux 平臺下,shell 腳本監(jiān)控是一個非常簡單、方便的工具,它可以有效的對服務(wù)器、進程進行監(jiān)控,對系統(tǒng)開發(fā)以及進程維護人員非常有幫助,需要的朋友可以參考下
    2023-02-02

最新評論

广汉市| 筠连县| 苍梧县| 泸溪县| 怀来县| 清流县| 湖北省| 卫辉市| 阿城市| 淅川县| 丘北县| 仪陇县| 孝昌县| 宁阳县| 平潭县| 扶沟县| 县级市| 株洲县| 临江市| 中宁县| 电白县| 常山县| 泊头市| 姚安县| 漳浦县| 民乐县| 成都市| 霍州市| 紫金县| 曲麻莱县| 澳门| 佛冈县| 青浦区| 措勤县| 茂名市| 宽甸| 长汀县| 舟曲县| 清流县| 若尔盖县| 瑞金市|