ターミナル返品に別の色が欲しいです。
例:
$ 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'