私のユーザーのシェルプロンプトが停止しました。
[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などの他のツールを使用したい場合は、このツールを使用できます。これは呼び出しセッションでは発生せず、新しいログインセッションに影響します。