/etc/bash.bashrc
のPS1変数を
PS1="\n\[\033[0;37m\]\342\224\214\342\224\200\$(if [[ \$? == 0 ]]; then echo \"[\[\033[0;32m\]\[\033[01;32m\]\342\234\223\[\033[0;37m\]]\342\224\200\"; else echo \"[\[\033[0;32m\]\[\033[01;31m\]\342\234\227\[\033[0;37m\]]\342\224\200\"; fi)[$(if [[ ${EUID} == 0 ]]; then echo '\[\033[0;31m\]\h'; else echo '\[\033[0;33m\]\u\[\033[0;37m\]@\[\033[0;96m\]\h'; fi)\[\033[0;37m\]]\342\224\200[\[\033[0;32m\]\w\[\033[0;37m\]]\n\[\033[0;37m\]\342\224\224\342\224\200\342\224\200\342\225\274 \[\033[0m\]"
これはすべてのコマンドで問題なく動作します。しかし、Sudo -i
コマンドを実行すると、PS1値はデフォルトになります。カラースキームを取り戻すには、PS1=<same value>
を手動で実行する必要があります。この動作を引き起こしている可能性のあるアイデアはありますか?
PS1
行を/root/.bashrc
に追加します。
色がデフォルトに戻る理由は、Sudo -i
を実行すると、ルートログインを「シミュレート」し、次にルートの.bashrc
をソース(適用)して、色をデフォルトに戻すためです。 。そのため、ルートのPS1
に.bashrc
行を追加するとうまくいきます。