SSHを使用して接続しているホストに基づいてPS1の外観を変更しようとしています。私の現在のPS1:
PS1='\[\e[1;32m\]\u@\h\[\e[1;34m\] \w\[\e[1;31m\]$(__git_ps1)\[\e[1;0;37m\] \$\[\e[0m\] '
ホストの場合は、黄色を例にしてhost1
最初の色を黄色に変更したいと思います。1;33
host2
1;35
SSHを使用して特定のホストに接続されていることを確認し、それに応じてPS1を変更するにはどうすればよいですか?
ベストアンサー1
プロンプト仕様をフラグメントとして作成するか、中間変数を使用するか、2つを組み合わせて使用します。SSH_CLIENT
ログインする場所を示す SSH 設定変数です。その後、ホスト名を使用してログインした場所を確認できます。
if [[ -n $SSH_CLIENT ]]; then
case $HOSTNAME in
*.example.com) prompt_user_host_color='1;35';; # magenta on example.com
*) prompt_user_host_color='1;33';; # yellow elsewhere
esac
else
unset prompt_user_host_color # omitted on the local machine
fi
if [[ -n $prompt_user_host_color ]]; then
PS1='\[\e['$prompt_user_host_color'm\]\u@\h'
else
PS1=
fi
PS1+='\[\e[1;34m\] \w\[\e[1;31m\]$(__git_ps1)\[\e[1;0;37m\] \$\[\e[0m\] '