Ubuntu 18 LTSサーバーでSSHを介してシェルプロンプトをカスタマイズしようとしています。
サーバーでは、.profile
ソース.bashrc
正しく、.bashrc
はforce_color_Prompt=yes
コメントを外しました。プロンプトは色付きではありません。
手動で設定してみました。エクスポートしません:
user@ubuntu ~ $ export PS1="[ ${debian_chroot:+($debian_chroot)}\u is awesome: \w ]\\$ "
user@ubuntu ~ $ echo $PS1
\u@\h \w \$
しかし、ルートとしては正常に動作します:
user@ubuntu ~ $ Sudo su
root@ubuntu:/home/user# export PS1="[ ${debian_chroot:+($debian_chroot)}\u is awesome: \w ]\\$ "
[ root is awesome: /home/user ]#
何が起こっている?
@terdonのアドバイスに従って$Prompt_COMMAND
をチェックしました:
user@ubuntu ~ $ echo $Prompt_COMMAND
__git_ps1 "\u@\h \w" "$(__drush_ps1 "[%s]") \\\$ "
次に、.bashrc
をより厳しく見て、以下を見つけました。
# Include Drush Prompt customizations.
if [ -f "/home/user/.drush/drush.Prompt.sh" ] ; then
source /home/user/.drush/drush.Prompt.sh
fi
Drushは、明らかに$Prompt_COMMAND
ではなく、独自のPS1
を設定していました。これによってPS1
がどのように上書きされるかはわかりませんが、実際は上書きされます。 Drushの余分なカスタマイズをコメントアウトすると、問題はなくなります。 @terdonに感謝します。