web-dev-qa-db-ja.com

SSH経由でPS1をエクスポートできません

Ubuntu 18 LTSサーバーでSSHを介してシェルプロンプトをカスタマイズしようとしています。

サーバーでは、.profileソース.bashrc正しく、.bashrcforce_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 ]#

何が起こっている?

1
Sqerstet

@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に感謝します。

0
Sqerstet