Bashコンソールで利用可能なすべての色をリストしたいです。その後、プロンプトを太くオレンジ色にしたいと思います。私はこれをカラーコードのリストに使用します。
for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done
ところが問題はどのように作るのかだ。勇敢な色を維持しますか?
ここでは、太字にする方法についてのアドバイスを探しています。http://misc.flogisoft.com/bash/tip_colors_and_formattingしかし、太字と256色のいずれかを組み合わせたコードは見つかりません。
答え1
次のいずれかで作成できます。
echo -e "\e[1;38;05;${code}m $code: Test"
echo -e "\e[1m\e[38;05;${code}m $code: Test";
echo -e "\e[38;05;${code}m\e[1m $code: Test";
echo -e "\e[38;05;${code};1m $code: Test";
tput bold; tput setaf "$code" # provided the terminfo database is
# properly populated
tput bold
リセットしない場合は一度だけ実行できます。勇敢なそしてtput sgr0
または\e[m
または\e[0m
。
答え2
Stephaneの例を補うために、以下は256色のすべてを一覧表示するクイックシェル関数です。
#!/bin/bash
esc=$'\033'
for row in {0..15} ;
do
rowtext=
for col in {0..15};
do
color=$(( $row * 16 + $col))
BG="${esc}[48;5;${color}m"
rowtext=${rowtext}$BG\
if [[ $color -lt 100 ]]; then rowtext=${rowtext}$BG\ ;fi
if [[ $color -lt 10 ]]; then rowtext=${rowtext}$BG\ ;fi
rowtext=${rowtext}$BG${color}
rowtext=${rowtext}$BG\
done
echo "${rowtext}${esc}[00m "
done
これは私が強打しなければならなかったzsh機能の迅速な「ポート」です。それは私に(bashで)動作するようであるか、少なくとも十分です。
カラーコード番号はカラーブロックで表されます。これは、プロンプトや他の場所で色を設定するために使用します。