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 (+).

您应该能够在当前 shell 中使用以下命令禁用它

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

要持久禁用它,您需要找到它被设置的位置,可能是您的~/.inputrc/etc/inputrc文件。

相关内容