Kaliで日本語を表示したいとき、言語パックをダウンロードしてインストールし、~/.bashrcファイルを設定しました。$source ~/.bashrcを実行すると、\u@\h:\w$形式が表示されました。ChatGPTに質問したところ、それはPS1の設定問題だと教えてくれました。ChatGPTの指示通りに長い間実行しましたが、最終的に最初の問題に戻り、\u@\h:\w$を消すには、たった2つのコマンドで済むことが分かりました。
シェルの種類を確認する
echo $SHELL
シェルの種類を切り替える
chsh -s /bin/bash
召喚せよ!
bash
原因は私のシェル環境がzshであることです。
zsh(Z Shell)とbash(Bourne Again Shell)は、2つの一般的なUnix/Linuxシェルです。どちらも基本的な機能は似ていますが、zshは特定の点でより多くの強化された機能や柔軟性を提供しています。
source /.bashrcを実行した後、\u@\h:\w$のようなプロンプトが表示される理由は、私はbashの設定ファイル/.bashrcを読み込もうとしていたからです。このファイルは元々bashシェル用に設計されています。
なぜこの問題が発生したのかというと、zshとbashは似たような機能を持っていますが、設定ファイルや構文にいくつかの違いがあるからです。~/.bashrcはbashの設定ファイルで、通常はbashのプロンプトやコマンドエイリアスなどを設定するために使われます。
zshでsource ~/.bashrcを実行すると、zshはこのbash設定ファイルを読み込んで実行しようとします。bashrcファイルの一部の設定(例:PS1='\u@\h:\w$ ')は、zshによって読み込まれ、設定として適用されます。
\u@\h:\w$ の意味:
\u:現在のユーザー名。
\h:ホスト名の最初の部分(ドメイン名は含まれません)。
\w:現在の作業ディレクトリのパス。
$:プロンプトの終わりを示します。通常のユーザーの場合は $ が表示され、rootユーザーの場合は # が表示されます。
\u@\h:\w$ の形式が現れた時、ChatGPTが指摘する問題は私を大きく遠回りさせるものだった。私はまだまだ愚かだ。