dircolors myfile は、LS_COLORS を画面の空の文字列に設定します。

dircolors myfile は、LS_COLORS を画面の空の文字列に設定します。

私の.bashrcにはカラースキームを設定する行があります。

eval $(dircolors colorfile) 

これは期待どおりに機能し、 "colorfile"によって生成された正しい文字列にLS_COLORSを設定します。

screen を使用すると bashrc ファイルを再読み込みしますが、色が失われます。テストするためにdircolors colorfile画面のコマンドラインから実行します

LS_COLORS='';
export LS_COLORS

この問題はかなり簡単に修正できますが、dircolorが画面と画面の外で異なる動作をする原因は何ですか?私は盲目的にファイルを解析し、文字列を出力すると思いました。しかし、一部の環境変数などを確認する必要がありますか?

どんな手がかりがありますか?以下は、いくつかの追加情報です。私の.screenrcは空で、gnome-terminalを使用しています。 Dircolorsのバージョンは8.25です。

私はこのwhichコマンドを使用して、2つの異なるバイナリを使用していないことを確認します(使用しません)。 $?の価値を確認してみました。 dircolorsを実行した後、どちらの場合も0です。

ベストアンサー1

画面内の値が$TERM異なります。したがって、colorfileファイルはおそらく次に終了する必要があります。

TERM screen*
TERM xterm*

おすすめ記事