すべてのコマンドのtcsh出力色の変更

すべてのコマンドのtcsh出力色の変更

ターミナル返品に別の色が欲しいです。

例:

$ pwd                //when return key is hit 
$ /home/user/tools   //return value printed in different color, say: grey color

この要件は特定のコマンドではありませんが、端末にpwd投げられたすべてのコマンドについて、私のログは次のようになります。

  • $black //入力
  • $グレー//出力

それが明確であることを願っています。

答え1

通常、コマンドの出力をキャプチャし、行の前にカラーコードを含む echo ステートメントでラップする必要があります。作業が終わったら、プロンプトが正常に見えるように色を「一般」モードに戻す必要があります。必要なものを達成するためのおおよその方法は次のとおりです。

$ echo -e '\e[1;30m'`pwd`; echo -en '\e[0m';

コード\e[1;30m' is gray, the code\e[0m` はディスプレイを通常モードに戻します。

これにより、スクリプトに入れたり、エイリアスを作成したり、コマンド名をパラメータとして取得したり、上記の設定echo ... ; echoに渡したりできます。

はい

以下は非常に基本的な例ですが、Bashシェルでこれを行う方法についてのアイデアを提供するためのものです。

$ c () { echo -e '\e[1;30m'`\$1`; echo -en '\e[0m'; }

これにより、という関数が生成されますc。次のパラメータを渡すことができますpwd

$ c pwd
/home/saml

ただし、注意して使用してください。そのようなものを渡すことはできませんls

答え2

シェルは実際には色とは無関係で、色を処理する端末(エミュレータ)デバイスです。 Linuxではこれが標準化されており、ほとんどすべて(VT、xtermsなど)が応答します。ANSIエスケープシーケンス持続可能な開発管理答えは基本的な使い方を示しています。

パイプとして使用できるようにしたい場合は、コンソールの背景からさまざまな非同期プロセスの出力を異なる色で多重化するために作成したCユーティリティがあります。これは互いに関連してデバッグするのに便利です。しかし、独立したのは便利です。

http://cognitivedissonance.ca/cogware/utf8_colorize/utf8_colorize.tar.bz2

tarballにREADMEがあります。基本例:

ls | utf8-colorize -1 3 -b

出力はls太い黄色で表示されます。たとえば、背景を設定することも便利です。

alias green='utf8-colorize -1 2'

関連情報