私はDebianを使用していて、今日は次のように入力しました。
exec bash
私の端末で、どういうわけかuser@xxx
がbash-4.4
に変更されました。
user@xxx
を取り戻すにはどうすればよいですか?たとえば、現在のフォルダーへのパスなどが表示されるので、私にとってはより良いと思います...
exec bash -l
これにより、ログインシェルとして開始されたbash
シェルとの現在のシェルセッションがreplaceになります。ログインシェルは、.bash_profile
(または.bash_login
または.profile
、どちらか最初に検出された方)と、プロンプトが定義されている可能性がある他のファイルを読み取ります。
exec bash
を使用して、現在のシェルセッションをインタラクティブシェルに置き換えました。これにより、ホームディレクトリから.bashrc
が読み取られます。ここでプロンプトを設定しないと、デフォルトのbash
プロンプトが表示されます。
exec
がなければ、exit
だけで古いシェルセッションに戻ることができます。 exec
を使用すると、古いセッションがなくなります。
シェルを終了して新しいシェルを開始することもできます。
user@xxx
は「プロンプト」と呼ばれます。 PS1
環境変数によって設定されます。 bashでは、デフォルトでbash-<version>
に設定されていますが、これはまったく役に立たないものですが、原則として、bash構成ファイルでは常により適切な値に設定する必要があります。
これが発生する一般的なケースは、~/.bashrc
を含まない/etc/profile
ファイルを作成したときです。このファイルがないと、bashは/etc/profile
にフォールバックし、システムのデフォルト構成を取得していました。空またはミニマリストの~/.bashrc
を使用すると、独自の構成のみが読み込まれ、ディストリビューションやシステム管理者が/etc/profile
に入力した内容を利用できなくなります。
解決策:これを~/.bashrc
に追加してください:
if [ -f /etc/profile ]; then
. /etc/profile
fi
または、次のようなものを追加してプロンプトを自分で設定します(上記のスニペットの後に):
PS1="\u\h@\\$ "
(プロンプトに表示されるものをカスタマイズして、カラフルにすることができます http://ezprompt.net/ などのツールを使用します)