正常にログインしましたが、なぜbashカスタム設定を見ることができないのですか?

正常にログインしましたが、なぜbashカスタム設定を見ることができないのですか?

私のユーザーのシェルプロンプトが停止しました。

[bash-4.2]$
llたとえば、bash-4.2シェルでは利用できない便利なコマンドがたくさんあります。

chshコマンドとコマンドを試しましたが、usermod問題は解決されませんでした。

ファイルをチェックインし、/etc/passwd私のユーザーに関連付けられているシェルはです/bin/bash。他のユーザーには同じ行がありますが、このユーザーには一般的なbashプロンプトが表示されます。

[vin@localhost ~]$

私の~/.bash_profileもの

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
    . ~/.bashrc
fi

# User specific environment and startup programs

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

vin私は、通常のbashを使用してrootまたは他のアカウントを介して自分のユーザーにログインしても、そのbashタイプを維持し、破損したbashに戻らないことを発見しました。

何が間違っている可能性がありますか?この問題を解決する方法を知っている人はいますか?

答え1

これは[bash-4.2]$「シェル名」ではなく「シェルプロンプト」と呼ばれます。

Bashのシェルプロンプトは、という一般的なシェル変数に保存されますPS1。の内容は、プレーンテキストとホスト名の挿入、作業ディレクトリの挿入、文字の挿入(ユーザーの場合)などのPS1特殊コードで構成されるプロンプト形式の文字列です。たとえば、\h\w\$#root$

PS1='\h:\w\$ '

これでプロンプトは次のようになります。

machinename:/path/to/where/you/are$ _

下線はカーソルを表します。 Bashの最新バージョンのマニュアルページによると、PS1のデフォルトは、シェル名、\s-\v\$リテラルダッシュ、シェルバージョン、および次のスペースなしでプロンプトを生成することです。まさに見えるようなものです。

Bashのマニュアルページを読んでから、リソースセクションに行き、PROMPTINGこのトピックに関するすべてのものを読んでください。

他のユーザーは、お客様のアカウントと他のユーザーのアカウントとの構成の違いによって、より良いヒントを得ることができます。~/.bash_profileなどの一部の構成ファイルが見つからないか、これらのファイルに構成されていない可能性が~/.bashrcあります。PS1たぶんあなたのアカウントに正しいホームディレクトリがないかもしれません。

このchshコマンドは、他のプログラムを使用するかのようにログインシェルを完全に変更します。 Bashをまったく使用したくないが、ZshやTcshなどの他のツールを使用したい場合は、このツールを使用できます。これは呼び出しセッションでは発生せず、新しいログインセッションに影響します。

関連情報