如何从 shell 模式中删除额外的 bash-3.2$?

如何从 shell 模式中删除额外的 bash-3.2$?

概括

shell-mode 的第一行在bash-3.2$我的自定义提示符之前有一个额外的提示符dotfiles (master)$

我尝试PROMPT_COMMAND=''根据~/.bashrc之前的堆栈溢出发布,但bash-3.2$仍然会继续显示。

重现步骤

$ emacs
M-x shell-mode RET

预期的

dotfiles (master)$ RET
dotfiles (master)$ RET
dotfiles (master)$ RET

观察到的

bash-3.2$ dotfiles (master)$ RET
dotfiles (master)$ RET
dotfiles (master)$ RET

配置

系统

$ specs emacs bash brew os
specs --version
0.19

emacs --version
GNU Emacs 24.4.1
Copyright (C) 2014 Free Software Foundation, Inc.
GNU Emacs comes with ABSOLUTELY NO WARRANTY.
You may redistribute copies of Emacs
under the terms of the GNU General Public License.
For more information about these matters, see the file named COPYING.

bash --version
GNU bash, version 3.2.57(1)-release (x86_64-apple-darwin14)
Copyright (C) 2007 Free Software Foundation, Inc.

brew --version
0.9.5

system_profiler SPSoftwareDataType | grep 'System Version'
    System Software Overview:
      System Version: OS X 10.10.3 (14D136)

也发布于Reddit

答案1

从变量中删除\v或。\VPS1

http://ss64.com/bash/syntax-prompt.html

答案2

事实证明,在我为了提高速度而更改了 bash 配置的加载样式之后,我使用 .bash_profile 加载了 git 提示符,但没有使用 .bashrc。

我已经创建https://github.com/mcandre/dotfiles/blob/master/.bashrc.d/emacs-git-prompt.sh获得两全其美的效果:快速的 shell 和惯用的 Emacs shell 提示!

相关内容