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


16

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

root@monu dev]#

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

回答:


23

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

の現在の値を見ることができますPS1

root@monu dev# echo $PS1

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

  • \u :ユーザー名
  • \h :ホスト名
  • \w :現在の作業ディレクトリ
  • \$#rootユーザーの$シンボル、他のユーザーのシンボル

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


1
〜/ .bashrcファイルにも忘れずに入れてください。例: `PS1 =" myname \\ $ "'。
キース

5
〜/ .bashrcは、ユーザーがログインするたびに実行されるわけではありません。「ログインシェルではないインタラクティブシェルが起動されると、bashは〜/ .bashrcからコマンドを読み込んで実行します(そのファイルが存在する場合)。」– man bash / INVOCATION
マナトワーク

それらを変更することにより、変更できます。
tshepang

詳細については、のPROMPTINGセクションを参照してくださいman bash
フランチェスコターコ

はい、しかしどのように正確ですか?例を挙げていただけますか?
ピーターモーテンセン

5

これはシェルに依存します。 重要な補足事項として、ルートアカウントを個人アカウントとして使用しないでください。通常のユーザーを作成し、sudoへのアクセスを設定します。これを行う方法については、配布マニュアルを確認してください。

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

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

zshellには他に も多くオプションがあり、これは実際には最小限のプロンプトです。

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

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

どちらの場合も、256色対応の端末を持っていることに注意してください。マニュアルページは非常に役立ちます(man bashまたはman zsh)。


2
ここでは、ルートアカウントの場合、IMOを正しく述べました。個人アカウントとして使用することはできません(フットプリントが非常に少ない組み込みシステムを除く)。
rozcietrzewiacz
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.