特定のコマンドの色をオフにするにはどうすればよいですか?

特定のコマンドの色をオフにするにはどうすればよいですか?

lsコマンド自体の API を使用せずに、などの特定のコマンドの色をオフにすることは可能ですか? を実行するようなコマンドの色をオフにする環境変数のようなものはありますかCOLOR=off ls? 解決策があれば、ぜひ教えてください。

編集:すべてのコマンドに適用できる一般的な解決策が欲しいです。COLOR=off command_name

答え1

書式の変更を許可しても構わないのであれば、そのままパイプで処理するほうがよいでしょう。cat

 ls | cat

色はありませんが、各エントリごとに改行があります。


編集:

シェル設定で色をオフにする

シェルの rc ファイルをチェックして色が設定されている場所を確認し、.<shell>rc_monoこれらの設定が削除された新しいファイルを作成し、それをソースして完了します。例: bash の場合:

$cat ~/.bashrc_mono
export TERM=xterm-mono
. ~/.bashrc
alias ls='ls --color=none'
alias grep='grep --color=none'

. ~/.bashrcと の新しいエイリアスの前に を付ける必要があるlsことに注意してください。grepこれらの色は通常 で設定されます~/.bashrc。したがって、必要なのは

. ~/bashrc_mono ; ls 

したがって、「色をやり直す」-rc が便利かもしれません:

$cat ~/.bashrc_recolorize
export TERM=xterm-256color
. ~/.bashrc

例えば、使用すれhtopば違いが分かります。

答え2

TERM1 つのオプションは、色をサポートしない端末タイプに変数を設定することです。

例:

TERM=dumb ls
TERM=dumb command_name
echo foo | TERM=dumb grep --color o

プログラムにダム端末を使用するように指示すると、実行するコマンドによっては、viカーソル キーが認識されなくなるなど、他の (望ましくない) 影響が出る可能性もあります。

提案されたようにフェリックスJNを試すこともできますTERM=xterm-monoが、私のテスト システム (Windows 上の Git bash) では、 とは対照的に色が抑制されませんTERM=dumb

関連情報