の助けを借りて色をdircolors
変更しました。ls
私の.dircolors
ファイルは
FILE 00;97
DIR 00;96
LINK 00;95
MULTIHARDLINK 00;34
ORPHAN 91;01 # symlink to nonexistent file
MISSING 00;00
EXEC 91;00 # this is for files with execute permission
dircolors .dircolors >> .bashrc
その後、ls
出力は設定で定義されているとおりに正しく色付けされます。実行ファイルを除く。赤(91; 00)の代わりにデフォルトのターミナル前景色を使用して色を付けます。例えば、
xterm -fg yellow # Executables become yellow on ls
xterm -fg green # Executables become green on ls
これは、ターミナル(Xterm、Terminator、Virtual Console...)とは何の関係もありません。
私もラインだけを含むdircolorsファイルを試しましたがEXEC
、これはラインを生成しました。
export LS_COLORS='ex=91;00:'
私は.bashrc
実行ファイルにまだ色がありません。
実行可能ファイルを着色するときに何が間違っているのでしょうか?
答え1
ls
これらの設定を端末に送信される文字列と考えてください。それは彼らが何を意味するのか分からない。送るESC [ m
ひも ;
このエスケープシーケンスを解釈する端末に。
端末エスケープシーケンスの事実上の標準は次のとおりです。xterm。このCSI
ドキュメントではESC [
、PSは整数です。午後セミコロンで区切られた整数のリストなので、関連するエスケープシーケンスは以下にリストされています。CSI Pm m
。
端末はパラメータを順次適用します。パラメータ0は、色を含むすべての属性をリセットします。したがって、91;00
同じように代わりに0
使用してください91
(または0;91
すべてのプロパティをリセットするには、前景色を設定します)。前景色と強度は独立した属性なので91;01
同じです。01;91
ls
通常、デフォルトのプロパティで始まり、各色名の末尾からデフォルトのプロパティにリセットされるため、これらの設定00;
では重複します。