在我的~/.profile
中,我正在FreeBSD 12.0中使用它,效果很好:
prompt_title_command() {
# use OSC escape sequence to set window/tab title
printf "\e]0;${USER}@${HOSTNAME} \u2014 ${PWD} \u2014 ${BASH_COMMAND}\a"
}
trap prompt_title_command DEBUG
这将设置窗口/标签标题。 \u2014
是破折号Unicode字符。
然后我将其复制并尝试在macOS 10.14.3中使用,但会出现以下错误:
-bash: printf: missing unicode digit for \u
-bash: printf: missing unicode digit for \u
即使我会收到此错误,但Unicode字符仍会按标题中的预期进行打印。
这仅在打开新的标签页或窗口时发生。
然后,我将前面的代码更改为使用两个普通破折号而不是unicode em-dash:
prompt_title_command() {
# use OSC escape sequence to set window/tab title
printf "\e]0;${USER}@${HOSTNAME} -- ${PWD} -- ${BASH_COMMAND}\a"
}
trap prompt_title_command DEBUG
但是我仍然会遇到相同的错误,并且无论如何尝试都无法消除它们,除非注释掉trap
行。
版本:
答案 0 :(得分:0)
将陷阱设置为PS1
之后,可以解决此问题。我不知道为什么会有所不同。