デフォルトのDebianシェルが無色であり、答えが見つからなかった理由を探していました。
なぜDebianシェル(bash)はデフォルトで無色なのですか?
デフォルトのDebianシェルが無色である理由
このため(Vanilla Debianインストールの.bashrc
から、強調してください):
#端末に機能がある場合は、色付きのプロンプトのコメントを外します。 ユーザーの注意をそらさないようにデフォルトでオフ #:ターミナルウィンドウのフォーカス #はプロンプトではなくコマンドの出力にあるべきです #force_color_Prompt = yes if [-n "$ force_color_Prompt"]; then if [-x/usr/bin/tput] && tput setaf 1>&/ dev/null;次に #色のサポートがあります。 Ecma-48 #(ISO/IEC-6429)に準拠していると想定します。 (そのようなサポートの欠如は非常にまれであり、そのような #ケースはsetafではなくsetfをサポートする傾向があります。) color_Prompt = yes else color_Prompt = fi fi
つまり、これは「機能」であり、必要に応じて設計上の選択です。
「Debianでroot
のbash
プロンプトがデフォルトで無色になっているのはなぜですか?」という意味ですか、そうですか?
もしそうなら、それは単に /etc/profile
—またはむしろ、/etc/bash.bashrc
—非常に単純なプロンプトを定義します:
# set a fancy Prompt (non-color, overwrite the one in /etc/profile)
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
および root
のデフォルト.bashrc
オーバーライドしません:
# Note: PS1 and umask are already set in /etc/profile. You should not
# need this unless you want different defaults for root.
# PS1='${debian_chroot:+($debian_chroot)}\h:\w\$ '
# umask 022
詳細は Debianシステムで/root/.bashrcと/root/.profileはどこから来るのですか? を参照してください。
これが「debianでルートシェルを色分けする方法」の検索結果のトップだったので、ここに解決策を投稿します。/root/.bashrc
をコピーして/etc/skel/bashrc
ファイルで上書きします。
このファイルは、インストールされたroot
よりもはるかに堅牢であり、システムで作成された新しいユーザーが使用するデフォルトでもあります。
以下は、私が長年に渡って調整したlsのカラーリングの抜粋です
alias la='LS_COLORS="mh=1;37" ls -A'
alias l='LS_COLORS="mh=1;37" ls -CF'
alias ll='LC_COLLATE=C LS_COLORS="mh=1;37" ls -lA --si --group-directories-first'