私のディストリビューションはRHELです。 LS_COLORS変数はrs、di、* .tzoなどで構成されています。新しい拡張タイプを追加する方法を知りたいです。
同様に、拡張プログラムが処理される順序も同じです。 diが青に設定され、「zz」タイプが何を意味するのかを理解するために、ロジックを通過するsay zzという拡張を作成すると、1つは別のものに従いますか?
答え1
dircolors
使用する色をパーソナライズするのに役立つように使用する必要がありますls
。
dircolors -p > dircolors.txt
カラーデータベースは、人間が読める形式で出力および保存されdircolors.txt
、それを編集して設定を調整できます。互いに一致する「基本ファイル形式」の一連の色設定が表示されます。di
これに関連する色を変更できますが、独自の種類を追加することはできません。また、ファイル拡張子(で始まる.
)とその色が表示され、ここで独自の拡張子を追加できます。完了したら実行してください。
dircolors dircolors.txt
LS_COLORS
シェルの起動スクリプトで設定する必要がある対応する値を生成します。各拡張には1つのカラー設定しか必要ないため、拡張の順序は重要ではありません。
必要に応じて、色定義を直接保存して実行することもできます。
eval $(dircolors -b /path/to/dircolors.txt)
起動スクリプトから。 (このアプローチを使用している場合は、色をに保存する方が合理的になる可能性があります~/.dircolors
。)
答え2
上記の説明を拡張するには、/etc/DIR_COLORS
ホームディレクトリにファイルを作成し、ファイル内に(bashを使用している~/.dir_color
と.bashrc
仮定して)以下を追加できます。
if [[ -e "${HOME}/.dir_colors" ]]; then
eval "$(dircolors -b ${HOME}/.dir_colors)"
fi
これにより、設定に応じてLS_COLORSが設定されます.dir_colors
。~/.dir_colors
必要に応じて調整できます。これを変更する場合は、以下を再構成する必要があります.bashrc
。
. ~/.bashrc