GNU/Linux >> Linux の 問題 >  >> Linux

カラーシェルスクリプト出力ライブラリ

私は控えめなリストをインスピレーションとして取り、それを少し乾燥させました. (そして \e を変更 16 進数の \x1B に 、前者は Snow Leopard 以降 OS X の Terminal.app でサポートされていないためです。) これが私が思いついたものです:

## Colours and font styles
## Syntax: echo -e "${FOREGROUND_COLOUR}${BACKGROUND_COLOUR}${STYLE}Hello world!${RESET_ALL}"

# Escape sequence and resets
ESC_SEQ="\x1b["
RESET_ALL="${ESC_SEQ}0m"
RESET_BOLD="${ESC_SEQ}21m"
RESET_UL="${ESC_SEQ}24m"

# Foreground colours
FG_BLACK="${ESC_SEQ}30;"
FG_RED="${ESC_SEQ}31;"
FG_GREEN="${ESC_SEQ}32;"
FG_YELLOW="${ESC_SEQ}33;"
FG_BLUE="${ESC_SEQ}34;"
FG_MAGENTA="${ESC_SEQ}35;"
FG_CYAN="${ESC_SEQ}36;"
FG_WHITE="${ESC_SEQ}37;"
FG_BR_BLACK="${ESC_SEQ}90;"
FG_BR_RED="${ESC_SEQ}91;"
FG_BR_GREEN="${ESC_SEQ}92;"
FG_BR_YELLOW="${ESC_SEQ}93;"
FG_BR_BLUE="${ESC_SEQ}94;"
FG_BR_MAGENTA="${ESC_SEQ}95;"
FG_BR_CYAN="${ESC_SEQ}96;"
FG_BR_WHITE="${ESC_SEQ}97;"

# Background colours (optional)
BG_BLACK="40;"
BG_RED="41;"
BG_GREEN="42;"
BG_YELLOW="43;"
BG_BLUE="44;"
BG_MAGENTA="45;"
BG_CYAN="46;"
BG_WHITE="47;"

# Font styles
FS_REG="0m"
FS_BOLD="1m"
FS_UL="4m"

BR_ 色は「明るい」または「高輝度」の色です。このようにすると、他のフォント スタイルと組み合わせることもできます。 (例:明るい白に下線を引く)

これをブックマークしたい場合は、Gist を作成しました:https://gist.github.com/ian128K/39a490e5aa8d3bb77a8b


これは、あなたが望むことをするはずの私のドットファイルからの変更されたスニペットです

RCol='\e[0m'    # Text Reset

# Regular           Bold                Underline           High Intensity      BoldHigh Intens     Background          High Intensity Backgrounds
Bla='\e[0;30m';     BBla='\e[1;30m';    UBla='\e[4;30m';    IBla='\e[0;90m';    BIBla='\e[1;90m';   On_Bla='\e[40m';    On_IBla='\e[0;100m';
Red='\e[0;31m';     BRed='\e[1;31m';    URed='\e[4;31m';    IRed='\e[0;91m';    BIRed='\e[1;91m';   On_Red='\e[41m';    On_IRed='\e[0;101m';
Gre='\e[0;32m';     BGre='\e[1;32m';    UGre='\e[4;32m';    IGre='\e[0;92m';    BIGre='\e[1;92m';   On_Gre='\e[42m';    On_IGre='\e[0;102m';
Yel='\e[0;33m';     BYel='\e[1;33m';    UYel='\e[4;33m';    IYel='\e[0;93m';    BIYel='\e[1;93m';   On_Yel='\e[43m';    On_IYel='\e[0;103m';
Blu='\e[0;34m';     BBlu='\e[1;34m';    UBlu='\e[4;34m';    IBlu='\e[0;94m';    BIBlu='\e[1;94m';   On_Blu='\e[44m';    On_IBlu='\e[0;104m';
Pur='\e[0;35m';     BPur='\e[1;35m';    UPur='\e[4;35m';    IPur='\e[0;95m';    BIPur='\e[1;95m';   On_Pur='\e[45m';    On_IPur='\e[0;105m';
Cya='\e[0;36m';     BCya='\e[1;36m';    UCya='\e[4;36m';    ICya='\e[0;96m';    BICya='\e[1;96m';   On_Cya='\e[46m';    On_ICya='\e[0;106m';
Whi='\e[0;37m';     BWhi='\e[1;37m';    UWhi='\e[4;37m';    IWhi='\e[0;97m';    BIWhi='\e[1;97m';   On_Whi='\e[47m';    On_IWhi='\e[0;107m';

echo -e "${Blu}blue ${Red}red ${RCol}etc...." だけ


echo -e "\033[33;31m Color Text" - red
echo -e "\033[33;32m Color Text" - green
echo -e "\033[33;33m Color Text" - yellow
echo -e "\033[33;34m Color Text" - blue
echo -e "\033[33;35m Color Text" - Magenta
echo -e "\033[33;30m Color Text" - Gray
echo -e "\033[33;36m Color Text" - Cyan

http://techietent.blogspot.in/2013/03/how-to-echo-colored-text-in-linux-shell.html


恥知らずなプラグイン... Rainbow.sh をチェック

使い方

rainbow.sh をインポートするだけで、スクリプトで利用可能な関数を使い始めることができます。

source rainbow.sh 

vargreen=$(echogreen "Grass is green")
varred=$(echored "Roses are red")

echo "$vargreen ..Crickets are noisy.. $varred"


Linux
  1. シェルスクリプトでタイムアウトしますか?

  2. シェルスクリプトの予期しない動作?

  3. 関数とパラメータを変数として持つシェルスクリプト?

  1. 実行中にシェルスクリプトを編集する

  2. bash スクリプト ループ内の cat ステートメントの出力を出力する

  3. シェル スクリプトでの複数行出力のインデント

  1. シェルスクリプトを使用して /etc/hosts ファイルに行を追加します

  2. シェルスクリプト内でログの冗長性を管理するにはどうすればよいですか?

  3. シェル スクリプトを使用して $PATH 変数を反復処理する