メニュー形式のshell scriptなんてものをよく作っています。
運用担当者は、コマンド打ってくれないのです。
で、昔、「メニュー画面とかに色つけれないの?」って上司に言われて、
内心「そりゃむりじゃないかなぁ」と思い、上司も「別に思いつきだから
気にしないで。」と言っていたので、あまり調べていなかったのですが、
なんとまぁできるらしい。
(ちゃんと調べないといけないなぁと反省)
たとえば、「ACHAMA」を黄色にしたい場合、
# printf "\033[33mACHAMA\033[00m\n"
ACHAMA |
さらに背景を赤にしたければ、
# printf "\033[33;41mACHAMA\033[00m\n"
ACHAMA |
そして、下線を引きたいならば、
# printf "\033[33;41;04mACHAMA\033[00m\n"
ACHAMA |
とします。
\33[が制御文字らしいです。
echo,print でもできました。
# echo "\033[33;41;04mACHAMA\033[00m"
# print "\033[33;41;04mACHAMA\033[00m"
ファイルに出力して、moreで見たらダメでした。「^[[33;41;04mACHAMA^[[00m」って表示。
catはOK。
# echo "\033[33;41;04mACHAMA\033[00m\n" > foo
# cat foo
AIXにlessはないので、調べとりません。
これで、エラー時は赤くするとか、
注意して欲しい時は青くするとか、
メニュー項目は、boldとかが可能になります。
下記参考URLはtcshなのですが、
僕の普段の環境は
AIX 5.1 ML3
korn shell
なので、若干違いがありました。
で、0~9999(無駄?)まで調べた結果。
◆TeraTermの場合
00: | ACHAMA | 初期状態へ |
01: | ACHAMA | 背景が白で文字が青 |
04: | ACHAMA | アンダーライン |
05: | ACHAMA | 背景が白で文字が赤 |
07: | ACHAMA | 反転 |
30: | ACHAMA | 文字が黒 |
31: | ACHAMA | 文字が赤 |
32: | ACHAMA | 文字が緑 |
33: | ACHAMA | 文字が黄色 |
34: | ACHAMA | 文字が青 |
35: | ACHAMA | 文字がmagenta |
36: | ACHAMA | 文字がcyan |
37: | ACHAMA | 文字が白 |
40: | ACHAMA | 背景が黒 |
41: | ACHAMA | 背景が赤 |
42: | ACHAMA | 背景が緑 |
43: | ACHAMA | 背景が黄色 |
44: | ACHAMA | 背景が青 |
45: | ACHAMA | 背景がmagenta |
46: | ACHAMA | 背景がcyan |
47: | ACHAMA | 背景が白 |
そして、dttermだと、
01:bold
02:文字がgray
05:も反転
08:文字が背景色と同化
とさらに若干違う。指定方法が悪いのかしら。。。
aixtermなんて、色が訳解らない状態になってしまいました。。。
どうやら、ターミナルによって違いがあるようだ。
うーむ、0番台は気をつけねばならないかも。。
====
参考
http://www2u.biglobe.ne.jp/~hsaka/
http://www2u.biglobe.ne.jp/~hsaka/tool.html
カテゴリ
AIXトラックバック(0)
このブログ記事を参照しているブログ一覧: カラフルなShell Scriptを作ってみる
このブログ記事に対するトラックバックURL: http://www.achama.com/mt/mt-tb.cgi/102
コメントする