
多くのコンポーネントを持つ大規模なシステムを初期化および構成するためのスクリプトを作成しています。
各コンポーネントには独自のログ ファイルがあります。
インストール/構成時にエラーが発生するたびに、コンポーネント ファイル名の色を赤に変更したいと思います。
どうすればいいですか?
答え1
Google が答えを見つけます。Hello world を赤で印刷します。
echo -e "\033[0;31mHello world\033[0m"
説明
<esc><attr>;<foreground>m
<esc> = \033[ ANSI escape sequence, some environments will allow \e[ instead
<attr> = 0 Normal text - bold possible with 1;
<foreground> = 31 30 + 1 = Color red - obviously!
m = End of sequence
\033[0m Reset colors (otherwise following lines will be red too)
見るhttp://en.wikipedia.org/wiki/ANSI_エスケープコード色やその他の機能(太字など)の完全なリストについては、こちらをご覧ください。
tput コマンドが利用できる場合は、作業が簡単になります。
echo -e "$(tput setaf 1)Hello world$(tput sgr0)"
より簡単に使用できるように、シーケンスを vars に保存することもできます。
ERR_OPEN=$(tput setaf 1)
ERR_CLOSE=$(tput sgr0)
echo -e "${ERR_OPEN}Hello world${ERR_CLOSE}"
答え2
色を変数として設定することに興味がある場合は、bashスクリプトのカラーパネルを設定するために以下が役立つかもしれません。
COL_BLACK="\x1b[30;01m"
COL_LIGHTBLACK="\x1b[30;11m"
COL_BLUE="\x1b[34;01m"
COL_LIGHTBLUE="\x1b[34;11m"
COL_CYAN="\x1b[36;01m"
COL_LIGHTCYAN="\x1b[36;11m"
COL_GRAY="\x1b[37;11m"
COL_LIGHTGRAY="\x1b[37;01m"
COL_GREEN="\x1b[32;01m"
COL_LIGHTGREEN="\x1b[32;11m"
COL_PURPLE="\x1b[35;01m"
COL_LIGHTPURPLE="\x1b[35;11m"
COL_RED="\x1b[31;01m"
COL_LIGHTRED="\x1b[31;11m"
COL_YELLOW="\x1b[33;01m"
COL_LIGHTYELLOW="\x1b[33;11m"
COL_RESET="\x1b[39;49;00m"
答え3
http://webhome.csc.uvic.ca/~sae/seng265/fall04/tips/s265s047-tips/bash-using-colors.html。
これがあなたが望んでいるものかもしれません。
$?
1つのコンポーネントファイルのプロセスを取得して、使用することを選択できます
echo -e "\e[1;31m"<the-component-file-name>\e[0m"
テキストを赤色にします。