私はRedhatサーバーで作業しており、ユーザー名の1つが「SSH Secure Shell Client」の「bash-3.0」として表示されます。
彼の名前は以下に正確に表示されます/etc/passwd
。どうすればこれが起こりますか?
この問題をどのように解決できますか?
答え1
ユーザーのデフォルトシェルは他のシェルとは異なりますか? (また/etc/passwd
)これが根本的な理由かもしれません。
端末でbashを起動すると、カスタムプロンプトを設定せずに「bash」プロンプトが表示されます。これは1人のユーザーにのみ発生するため、他のユーザーとは異なるログインシェルを使用したり、ログインスクリプトまたは端末でbashを起動したりできます。
デフォルトシェルが正常な場合(他のユーザーと一致する)、他のユーザーのホームフォルダにあるものと.bashrc
異なることを確認してください。.bash_profile
(それもそうかもしれませんし、~/.profile
何を使うかによって異なります...)~/.zprofile
~/.login
答え2
/etc/skel/からファイル(.bashrcと.bash_profile)を復元した後に修正されました。誤って削除されたようです。
答え3
構成ファイルを削除した後にユーザー名の代わりにbashバージョンが表示されるのは、コマンドプロンプト(通常はユーザー名を含む)がこれらのファイルに設定されているためです。呼び出し後もまったく同じ結果が表示されますbash --norc
。
興味深いことに、/ etc / profileには通常、最新のシステムでよく見られるコマンドプロンプトはありません。
if ["$PS1"]; if ["$BASH"]; PS1='\u@\h:\w\$ ' if [-f /etc/bash.bashrc]; 。 /etc/bash.bashrc フィリピン諸島 その他 if [" `id -u`" -eq 0 ]; PS1='#' その他 PS1 = '$' フィリピン諸島 フィリピン諸島 フィリピン諸島