Syntax Error.

[Sy] EC2インスタンスを再起動せずに Amazon Linux のプロンプトにニックネームを設定する方法

2016/10/19

EC2インスタンス(Amazon Linux)プロンプト って [ec2-user@ip-xx-xx-xx-xx ~]$ みたいな形式になっていて、 複数のサーバを扱ってる時に区別がつきづらい ですよね。

「ホスト名を変えたいけど、ちょっとすぐには再起動できない」 という場合は、とりあえずニックネームを設定して表示するという方法があるのでその手順について説明します。

環境

  • Amazon Linux (AMI release 2016.09)
⇒ [Sy] Amazon Linux のバージョンを確認する方法 | Syntax Error.

やりたいこと

デフォルトのプロンプトは

[ec2-user@ip-xx-xx-xx-xx ~]$

という形式になっているので、この ip-xx-xx-xx-xxというホスト名の部分を、ニックネームに変える ということをやっていきます。

(この記事では例としてニックネームをkotaroに設定します)

[ec2-user@kotaro]$

1.ニックネームを設定する

ということで、まずはニックネームを設定します。

/etc/profile.d/ディレクトリの下に、prompt.shというファイルを作成します。

$ cd /etc/profile.d/
$ sudo vim prompt.sh

prompt.shの中身は、以下のようにします。kotaroの部分は使いたいニックネームを自由に設定してください。

export NICKNAME=kotaro

prompt.shの作成は以下のコマンドでも同じことができます。

$ sudo sh -c 'echo "export NICKNAME=kotaro" > /etc/profile.d/prompt.sh'

2.プロンプトにニックネームを使う

ニックネームの設定ができたので、/etc/bashrcを編集してプロンプトの表示を変えていきます。

$ sudo vim /etc/bashrc

36行目あたりに以下のコードがあるので、\h(ホスト名を意味してます)を$NICKNAME(先ほど設定した環境変数NICKNAMEを意味してます)に書き換えます。

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

↓

[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@$NICKNAME \W]\\$ "

3.設定を反映する

一度SSH接続を切って再ログインすると、プロンプトが変わります。

[ec2-user@kotaro ~]$

参考

AWSのユーザガイドに、この方法とホスト名変更(要再起動)の方法など書かれています。

関連記事