更改我的 PROMPT_COMMAND 添加新行

Changing my PROMPT_COMMAND adds a new line

我已将以下行添加到我的 ~/.bashrc 文件中以更改我的标签标题:

export PROMPT_COMMAND='echo -e "3];My Machine[=13=]7"'

获取文件后,我的提示符会在每个命令后添加一个新的空行。例如:

user machine ~:> pwd
/a/path/whatever

user machine ~:>

我不希望出现第三个空白行。我已经测试了使用 PROMPT_COMMAND 行和不使用 PROMPT_COMMAND 行来采购我的 .bashrc,我知道这是有问题的行。有什么想法吗?

试试这个:

export PROMPT_COMMAND='echo -en "3];My Machine[=10=]7"'

band-aid 修复是使用 echo -en 如果你的 echo 支持它(禁止换行)。

我认为这里没有必要使用PROMPT_COMMAND,你可以把它放在你的PS1:

前面
PS1="\[3]0;My Machine[=10=]7[=10=]7\]$PS1"

\[ \] 确保它们之间的宽度不会超出行长度计数。

有预定义的转义序列,因此您不必对机器名称进行硬编码,请参阅 the manual。例如这个

PS1="\[\e]0;\u@\h: \w\a\]$PS1"

使用 \e\a 代替 3\ 和 [=20=]7 用于转义和响铃,并将选项卡标题设置为 user@hostname: currentdir

另见 relevant section in the Bash Prompt HOWTO and the Xterm title HOWTO