ユーザー名はSSHシェルで「bash-3.0」と表示されます。

ユーザー名はSSHシェルで「bash-3.0」と表示されます。

私は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 = '$'
    フィリピン諸島
  フィリピン諸島
フィリピン諸島

関連情報