私のbashプロンプトがめちゃくちゃになりました。どうしたの?

私のbashプロンプトがめちゃくちゃになりました。どうしたの?

次のように入力して、現在のbashのバージョン情報を取得できると思いました。

bash -v

これにより、標準出力に多くのコード行が表示され、通常のプロンプトの上に1行が残ります。

printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"
[foo@bar path]$

これが何であるか(プロンプトをレンダリングするコード)知っているようですが、削除する方法がわかりません。誰がしますか?

ベストアンサー1

呼び出した新しいシェルexitを終了するには、入力するだけです。bash

説明する

この-vオプションはあなたが思うものとは異なります。からbash(1)

-v読み取り行変数名と値を再読み込みできる形式で表示します。

したがって、コマンドが実行する作業は、出力に表示されるさまざまな変数名を印刷するオプションを持つ別のbashシェルを起動することです。-v

あなたが望むもの

bash --version

修正する

OP以降コメントしました。これは「システムの再起動」などの答えのように聞こえます。ここに別のアプローチがあります。

-v発行してオプションを無効にします。

set +v

ただし、これは以前に呼び出して分岐したサブシェルに残りますbash

おすすめ記事