Amazon EC2 で Ubuntu 24.04 を起動したとき、シェルプロンプトは ip-192-168-0-19
のように IP アドレスをハイフンでつないだ文字列が表示されます。
[ubuntu@ip-192-168-0-19 ~]$
これを、以下の my-server
のように任意の文字列に変更する方法を紹介します。インスタンスのホスト名を変更せずにシェルプロンプトのみ変更します。
[ubuntu@my-server ~]$
作業するサーバを間違えていないかシェルプロンプトを見て確認することができるため、本番環境で作業をするときに安心します。
以前 Amazon Linux2 で同じことを書きましたが、それの Ubuntu 24.04 版です。
-
-
Amazon Linux2のシェルプロンプトのホスト名を変更する
Amazon Linux2 のシェルプロンプトは、初期状態では ip-192-168-63-91 のように IP アドレ ...
続きを見る
.bashrc の PS1 変数を変更する
ユーザごとのホームディレクトリにある .bashrc に PS1 変数があるので、その中の \h
を任意の文字列に書き換えます。\h
はホスト名を意味します。
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt
# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
;;
*)
;;
esac
sed コマンドで書き換えるとこんな感じ。
NICKNAME="my-server"
sed -i 's/\\h/'"$NICKNAME"'/g' /home/ubuntu/.bashrc
UserData で置き換える
EC2 の初回セットアップのタイミングで変更したいので、UserData に以下のように書きます。
root と ubuntu ユーザの .bashrc を変更する例です。
#!/bin/bash
NICKNAME="my-server"
sed -i 's/\\h/'"$NICKNAME"'/g' /root/.bashrc
sed -i 's/\\h/'"$NICKNAME"'/g' /home/ubuntu/.bashrc