【Linux】プロンプト(PS1)に表示される内容を変更する

SSHで複数台に接続したりするとわかんなくなるので作業メモ。


PS1って?

↓ターミナルに出てくる左の部分のことを言います。

[root@localhost /] $

"The primary prompt string"=プライマリ(1番目の)プロンプト文 = PS1


現状確認

コマンドを実行して現状確認をしてみましょう。

[root@localhost /]$ echo "$PS1"
[\u@\h \W]\$

変更方法

変更方法は2種類で試しに「test」と追加してみましょう。


一時的に変更

即時変更されますが一時的にしか変更されません。

[root@localhost /] $ export PS1="[\u@\h test \W]$"
[root@localhost test /] $

設定ファイル変更

設定ファイルを変更します。

以下の3種類を変更すると適用されるようです。

  • ~/.bash_profile
  • ~/.bashrc
  • /etc/.bashrc
vi /etc/.bashrc

PS1の記述がある箇所があると思うので探してください。

# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h \W]\\$ "

# Turn on checkwinsize
shopt -s checkwinsize
[ "$PS1" = "\\s-\\v\\\$ " ] && PS1="[\u@\h test \W]\\$ "

次にログインすると反映されていますが、即時反映したい場合はコマンドを実行してください。

[root@localhost /] $ source .bashrc

特殊文字

特殊文字 説明
\d 今日の日付 (Fri Mar 21)
\H ドメイン名まで含めたホスト名
\h ホスト名
\n 改行文字
\s シェル名
\T 現在時刻 (12時間表示で秒まで表示)
\t 現在時刻 (24時間表示で秒まで表示)
\@ 現在時刻 (am/pm 付き12時間表示で分まで表示)
\u ユーザー名
\v bash のバージョン
\V bash のリリース番号
\w カレントディレクトリ
\W カレントディレクトリのベース名
\# 現在のコマンドのコマンド番号
\! 現在のコマンドのヒストリ番号
\$ root なら #、一般ユーザーなら $ を表示
\xxx 文字を 8 進数の文字コードで指定
\\ \ を表示

まとめ

大量のサーバーに同時アクセスすると間違えやすくなるので凄い有用です!/p>

0 件のコメント :

コメントを投稿