困ったこと
ある日、Macのコマンドプロンプトを見ると、
43x233x87xxxx: ~ $
のようになっていた。43x233x87xxxxの部分は本来、mbpというホスト名が表示されているはずなのに。
共有でホスト名をmbpとしています。
文字化けかな?と思い、いろいろ調べてみたところ、このプロンプトのホスト名は律儀?にネットワークで名前解決して、それを取得してきているらしい。
なので、マシンにきっちりホスト名が振られる環境下では「正式な」ホスト名となってしまうよう。
試しに、下記のようにすると、ホスト名が割り振られており、そのホスト名が取得されているようです。
hostname
43x233x87xxxx.ap45.ftth.ucom.ne.jp
解決方法
そもそものプロンプトの設定についてはこちらを参考にしてください。
無視するか他のネットワークにつなぐ
まず、この現象はMacを接続しているネットワーク依存なので、他のネットワークに接続すると解決する。一時的な環境であれば無視してていいと思う。
ローカルホスト名を見るように設定する
ネットワーク名ではなくローカルのホスト名を使うように設定すると解決できるよう。
現状の設定確認
まず、現状の設定を確認してみます。\hがホスト名を表しています。
echo "$PS1"
\h: \W $
ローカルホスト名を取得して設定する設定
\hではなく、scutil --get LocalHostNameで取得した結果を利用するようにします。
export PS1=$(scutil --get LocalHostName)': \W $'
mbp: ~ $
期待通りmbpと表示されるようになりました。
まだまだ知らないことがたくさんあります。