bash スクリプト内で Solarized の色値にアクセスする方法

bash スクリプト内で Solarized の色値にアクセスする方法

私はbash PS1プロンプトの色をソラリゼーションテーマ。 私は持っているソラリゼーションをインストールして動作していますiTerm2が、これまでのところ、テーマに一致するカスタム PS1 プロンプトを作成できませんでした。

シアンに次のような値を使用しようとしましたが、色が得られなかったり、間違った色が得られたりしてしまいます。 \033[0;37m

上記の値は以下のリンクから取得しました。 https://github.com/altercation/solarized/tree/master/iterm2-colors-solarized

答え1

もしあなたが尋ねているのがANSIエスケープシーケンスここにいくつかのヒントがあります:

0 Black
1 Red
2 Green
3 Yellow/Brown
4 Blue
5 Pink
6 Cyan
7 White/Gray

それぞれが前景色または背景色に適用されます。

3_  sets grim    foreground color
9_  sets intense foreground color
4_  sets grim    background color
10_ sets intense background color
# 3-4, 9-10 and a code for a color.

たとえば、printf "\033[1;44;97m"背景44(暗い青) を前景97(濃い白) にします。

他にも便利なカラーコードがあります。

0 reset all colors
1 bold
3 italics
4 underline
5 blink
7 inverse

より快適に作業するために、 などのエイリアスのセットを作成できますfiblue fred bblack。 に次の関数を追加することもできますbashrc

ansi() {
    printf "\033[$1"
}

そのため、 と書く代わりに、\033[1;35mansi '1;35m'書き、その関数を使用してカラーエイリアスを記述する方が快適になります。

また、背景色を設定すると、既に設定されている前景色がリセットされるので、\033[misc;background;foregroundm

この方法で、好きなようにペイントできますPS1。次に例を示します。

PS1="\033[0;1;36m\u\033[0;1m:\033[1;103;30m\t\033[0m \033[1;92m\$\033[0m \r"

こちらもご覧くださいバッシュ

ご質問にお答えできたと思います。

関連情報