presents by IT Consulting 109

Linux – コンソールをニックネームで表示

概要

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
この記事を書いた人
名前:TRUE's。 千葉県育ち、神奈川県在住のIT系フリーエンジニア。 IT系のナレッジサイトを不定期で更新中。 フォトグラファー兼エンジニアとして日々勤しんでいる。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です