
rootでリモートシステムでsshを実行すると、コマンド出力は次のようになります。
root@Machine:/current/path#:
しかし、root以外のユーザーとして私が見るものは次のとおりです。
$
rootユーザーと同じ動作を得るにはどうすればよいですか?なぜ違うの?
答え1
言及した「コマンド出力」を「プロンプト」と呼びます。通常、プロンプトの末尾には、プロンプトの終わりとユーザー入力の開始を表す文字(bash
通常#
または)があります。$
ルートなのか分かるように違います。一般的に言えば、プロンプトの最後でこれを見ると、#
自分がルートであり、コマンドに注意する必要があることがわかります。
制御プロンプトは、使用しているシェルによって異なります。これにはbash
環境変数を使用できます。PS1
たとえば、次を実行する場合:
export PS1='\u@\h \w \$ '
次のプロンプトは次のように変更されます。
phunehehe@workstation ~/Desktop $
man bash
PS1変数の形式については、ヒントのセクションを参照してください。あなたの質問で興味深い点は次のとおりです。
\$ if the effective UID is 0, a #, otherwise a $
プロンプトを永久に変更するには、エクスポート行を/etc/profile
(システム側) または~/.profile
(ユーザー側)、またはそれに対応する場所に配置します。