次のbashプロンプト文字列があります。
root@LAB-VM-host:~# echo "$PS1"
${debian_chroot:+($debian_chroot)}\u@\h:\w\$
root@LAB-VM-host:~# hostname
LAB-VM-host
root@LAB-VM-host:~#
ホスト名を with コマンドLAB-VM-host
に変更しても、この bash セッションのプロンプト文字列は変更されません。VM-host
hostname
root@LAB-VM-host:~# hostname VM-host
root@LAB-VM-host:~#
現在のbashセッションのbashプロンプト文字列のホスト名部分を更新する方法はありますか、それとも新しいbashセッションにのみ適用されますか?
ベストアンサー1
PS1
もう一度エクスポートすると、他の答えからわかるように、Debianは実際に変更されたホスト名を選択しますか?その場合は、次のように更新できます。
export PS1="$PS1"
Debianについてはわかりませんが、OS X Mountain Lionではこれが可能です。いいえどのような影響がありますか?他の答えで提案された明示的なバージョンも同様です(上記とまったく同じです)。
これが機能していても、実行中の各シェルでプロンプトを個別にリセットする必要があります。この場合、新しいホスト名で手動で設定してみてはいかがでしょうか?または、新しいシェルを起動します(を使用してサブシェルとして使用するか、bash
実行中のプロセスをに置き換えますexec bash
)。ホスト名が更新されます。
実行中のすべてのシェルでホスト名の変更を自動的に追跡します。、以下でプロンプトを設定します.bashrc
。
export PS1='\u@$(hostname):\w\$ '
またはあなたの場合:
export PS1='${debian_chroot:+($debian_chroot)}\u@$(hostname):\w\$ '
つまり、\h
プロンプトをに置き換えて$(hostname)
一重引用符で囲む必要があります。これはhostname
印刷されるすべてのプロンプトの前に実行されますが、それで何ですか?コンピュータがひざまずいていません。