web-dev-qa-db-ja.com

Linuxでプロンプトを変更する方法は?

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

root@monu dev]#

「root @ monu」の部分を変更して、希望の名前を付けることはできますか?

17
monu

これは、環境変数PS1を変更することで変更されます。

PS1の現在の値は、次の方法で確認できます。

root@monu dev# echo $PS1

値が\u@\h \w\$と等しいことがわかります。ここで、

  • \u:ユーザー名
  • \h:ホスト名
  • \w:現在の作業ディレクトリ
  • \$:ルートユーザーの場合は#記号、他のユーザーの場合は$記号

変更を永続的にするには、ユーザーがログインするたびに実行されるため、PS1~/.bashrcの値を変更するスクリプトを追加する必要があります。

25
pradeepchhetri

これはシェルによって異なります。 重要な補足として、ルートアカウントを個人アカウントとして絶対に使用しないでください。通常のユーザーを作成し、Sudoへのアクセスをセットアップします。これを行う方法については、配布マニュアルを確認してください。

Zshでは、Prompt変数を次のように設定する必要があります。

Prompt='%{ESC[38;5;24m%};%{ESC[0m%} '

zshellは otheroptions を多数提供しており、これは実際には最小限のプロンプトです。

Bashでは、次のように設定できます。

local ROOK="\[\033[38;5;24m\]"
local DEFAULT="\[\033[0;39m\]"
PS1="${ROOK}\$${DEFAULT} "

どちらの場合も、256色対応の端末があることに注意してください。 manページは大いに役立ちます(man bashまたはman zsh)。