なんらかの理由でCentOS6サーバーにログインし、すべての行の先頭に通常表示されます
[root@hostname]#
今それが示しています
-bash-4.1#
これは何を意味するのでしょうか?そして、どうすれば正常に戻すことができますか?
端末で次のコマンドを実行します。
export PS1='[\u@\h \W]\$ '
再起動後にこのプロンプトを表示したい場合は、(suを使用して)これを試すことができます。
echo "export PS1='[\u@\h \W]\$ '" > /etc/profile.d/bash_Prompt.sh
詳しくは:
man bash
私は同じ問題を抱えていましたが、これが私がそれを解決した方法です:
2つのうちの1つが起こりました。ディレクトリ/root
が削除されました。または/
内の.bashrc
破損/root
ファイル(.bashrc
sources /etc/bashrc
、プロンプトを設定)がない場合、次のコマンドを実行して元のファイルを復元できますファイル(ルートまたはユーザーアカウントの作成時に自動的にコピーされます)。問題があるユーザーとしてこのコマンドを実行しますOR宛先パスを/home/directory/user/
に定義します
cp -v /etc/skel/.bash* ~/ #if logged in as user
cp -v /etc/skel/.bash* /home/user/ #run as root
.bash_logout
、.bash_profile
および.bashrc
を置き換えます-ターミナルを終了して再度ログインします。これで-bash-4.1#
が消えます。
コメントによると、su -
ではなく、su
を実行してrootユーザーに切り替えたようです。末尾の-
は、シェルをログインシェルにしますが、ルートユーザー環境が「オフ」になっていることに気付かない場合があります。
su
セッションを終了するには、単にexit
と入力します Enter または押す ctrl + d。次に、su -
を使用してセッションに再度入ります。詳細については、マニュアルページman su
を参照してください。
これは、1つの場所でコマンドプロンプトが.profile(またはシステムプロファイル)の内容によって変更されたことを意味します。2番目の場合、プロンプトは変更されませんでした。
ところで、「通常」とは何ですか。私の意見では、アプリケーションのデフォルト(2番目のエントリー)は正常です。他のものと同様に、「正常」とは人によって異なることを意味します。 UNIXlandには多くの方法があり、このようなタグは実際には意味がありません。
Manページをよく調べるか、bashに関する優れた本を探すことを強くお勧めします。
これらの人々はすべて、プロンプトを実際に表示して[ルート@ドメイン]に戻る方法を知らなかったようです〜#
私は彼が彼の質問に対してまっすぐな答えを得なかったと信じるのは難しいと思います。同じ答えを探しているからです。
%userx@voided ~>>$cat /etc/skel/.bashrc
# .bashrc
# If not running interactively, don't do anything
[[ $- != *i* ]] && return
alias ls='ls --color=auto'
PS1='[\u@\h \W]\$ '
rootに切り替えるためにsu-passwordを使用する場合、rootを示すプロンプトは変更されません。私だけが表示されます#
同じことをするのに使うとき。
たまたま.bashrcファイルを編集してみましたか?
ここにバックアップコピーがあります。
/etc/skel/.bashrc
ルートを復元するには、次のコマンドを実行します。
cp /etc/skel/.bashrc /root/.bashrc