Bash は $PS1 の先頭に '@' 記号を追加します。これを削除するにはどうすればよいですか?

Bash は $PS1 の先頭に '@' 記号を追加します。これを削除するにはどうすればよいですか?

Ubuntu 16.04 を実行していますが、 に設定された値に関係なく、bash はプロンプトの前に '@' を表示し続けます~/.bashrc

~/.bashrcコマンドを使用して、ファイル内とターミナル内の両方で異なる値を設定してみましたexport

たとえば、これは私の端末の一部です:

@$ export PS1='HELLO '
@HELLO

私は元に戻そうとさえしたオリジナル~/.bashrcしかし、@ がすべての行に残っているため、成功しません。

  • それを取り除く方法はありますか?
  • 他に確認すべき設定ファイルはありますか?
  • これは報告すべきバグでしょうか?

答え1

readline有効に設定されているようです編集モードの表示。 から8.3.1 Readline 初期化ファイルの構文Bashリファレンスマニュアルの:

show-mode-in-prompt (Off)
       If set to On, add a character to the  beginning  of  the  prompt
       indicating  the  editing  mode:  emacs (@), vi command (:) or vi
       insertion (+).

現在のシェルでこれを無効にするには、

bind 'set show-mode-in-prompt off'

~/.inputrcこれを永続的に無効にするには、これが設定されている場所 (おそらくは自分のまたは/etc/inputrcファイル)を見つける必要があります。

関連情報