LinuxのコンソールにSSH接続した場合、通常は以下のようにシェルプロンプト表示されます。
[ec2-user@ip-10-0-0-100 ~]$
複数台のインスタンスに接続して作業していると、情報がIPだけでは対象のインスタンスが正しいか判りづらい事がありと思います。
また、Elastic IPなど固定でIPを取得していない場合、インスタンスを停止して再起動するたびにパブリック IPv4 アドレスが変わり、パブリック DNS 名、システムホスト名、シェルプロンプトも変わります。
以前に投稿した手順でホスト名を変更すれば以下のように表示されます。
[ec2-user@web01-sv ~]
今回はホスト名に影響を与えずにシェルプロンプトを変更する方法について記載しています。
対象:Amazon Linux
※ニックネーム「hogehoge」に変更する例で説明していきます。
1.環境変数を設定するファイルを作成します。
sudo sh -c 'echo "export NICKNAME=hogehoge" > /etc/profile.d/prompt.sh'
2.ファイルを編集します。
sudo vi /etc/bashrc
以下の値を編集して保存します。
~省略
# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "
# You might want to have e.g. tty in prompt (e.g. more virtual machines)
# and console windows
省略~
「\h」 (hostname を表す記号) を ニックネームの値(例:hogehoge)に変更します。
~省略
# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@hogehoge \W]\\$ "
# You might want to have e.g. tty in prompt (e.g. more virtual machines)
# and console windows
省略~
3.ファイルを作成します。
sudo touch /etc/sysconfig/bash-prompt-xterm
4.ファイルを実行可能にします。
sudo chmod +x /etc/sysconfig/bash-prompt-xterm
5.ファイルを編集します。
sudo vi /etc/sysconfig/bash-prompt-xterm
実行結果
次の値をファイルに追加します。
echo -ne "\033]0;${USER}@${NICKNAME}:${PWD/#$HOME/~}\007"
6.再ログインして確認
[ec2-user@hogehoge ~]$
[ hostname ] を実行してホスト名が変更されていないことが確認できます。
hostname