Windowsの「色a」と「色b」はbash端末で同じです。

Windowsの「色a」と「色b」はbash端末で同じです。

Windows OSでは、 を入力するか待つcolor aだけで端末のフォントの色を一時的に変更できます。color bcolor c

これを行うコマンドはbash端末にありますか?

私は永久的な変更をしたくありません。ただ公開会議だけで十分でしょう。

答え1

どういう意味ですか?注文する期待値は0-f(つまり、10進数0〜15)です。同様のコマンドが使用されますtput:

tput setaf 10

(「a」は16進数で10です)展望色と

tput setab 10

~のため背景色。これらは別々です。用語情報能力。

この例では、端末記述に少なくとも16色があると想定しています。 8個しかないとtput目立たないけど結果は次善策になります。これで見ることができます

tput colors

デフォルトでは、tput現在の値は$TERM端末記述を選択するために使用されます。このオプションを使用してそれを上書きできます-T。たとえば、次を使用する場合xterm(「xterm」に設定されている他の端末とは異なり)次のスクリーンショットに示すように、端末の説明をTERM使用できます。xterm-16color

ここに画像の説明を入力してください。

tput(ライン15には有用な効果がないことがわかります。これは予想される理由は次のとおりです。108色の範囲を超えて)。

端末の説明、かどうかxtermまたはxterm-16color(またはxterm-256colortput端末に書き込むことができるエスケープシーケンスを作成する方法を説明します。 Bashプロンプトは、色を設定またはリセットするエスケープシーケンスを送信することもできます。シェルスクリプトでテキストを呼び出してエコーすると、色付きのテキストが表示され、tput同じコマンド(bashプロンプトで区切られた)が異なる動作をする可能性があります。また、一部のプログラム(たとえば、lsこれらのさまざまなアプリケーションは端末の1つの色の状態のみを共有でき、端末は自動的にそのアプリケーションを切り替えません。

シェルスクリプトのテストは、シェルプロンプトの詳細に依存するよりも予測可能です。これは例です

#!/bin/sh
case $TERM in
xterm*)
        TERM=xterm-256color
        ;;
linux*)
        TERM=linux-16color
        ;;
esac
export TERM
for p in $(seq 0 15)
do
        tput setab $p
        for q in $(seq 0 15)
        do
                tput setaf $q
                printf '%x%x' $p $q
        done
        tput sgr0
        printf '\n'
done

そしてxtermのスクリーンショット:

ここに画像の説明を入力してください。

関連情報