每次我打开命令终端或按下输入上述错误消息时,都会显示up.Does无害,但非常烦人。
~/..bash_profile在这里
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs这是导致/etc/bashrc中错误的区域。
if [ -e /etc/sysconfig/bash-prompt-xterm ]; then
PROMPT_COMMAND=/etc/sysconfig/bash-prompt-xterm
elif [ "${VTE_VERSION:-0}" -ge 3405 ]; then
PROMPT_COMMAND="__vte_prompt_command"
else
PROMPT_COMMAND='printf "\033]0;%s@%s:%s\007" "${USER}" "${HOSTNAME%%.*}" "${PWD/#$HOME/~}"'
fi如果我把这一行加到~/..bashrc中,问题就解决了。
source /etc/profile.d/vte.sh显然,_vte_prompt_comand只在vte.sh中定义
__vte_prompt_command() {
local command=$(HISTTIMEFORMAT= history 1 | sed 's/^ *[0-9]\+ *//')
command="${command//;/ }"
local pwd='~'
[ "$PWD" != "$HOME" ] && pwd=${PWD/#$HOME\//\~\/}
printf "\033]777;notify;Command completed;%s\007\033]0;%s@%s:%s\007%s" "${command}" "${USER}" "${HOSTNAME%%.*}" "${pwd}" "$(__vte_osc7)"
}这个命令实际上是做什么的?这些/etc/profile.d/*..sh不是在启动时加载的吗?有人能解释为什么会这样吗?
发布于 2021-03-19 19:10:04
来自gnome终端3.7.0Changelog:
为了使在终端中打开的新选项卡具有与当前选项卡相同的工作目录,运行在终端中的shell必须进行协作。为此,vte安装必须在bash PS1提示符中使用的bash脚本。(...)
我在搜索相同的问题时从https://bugzilla.redhat.com/show_bug.cgi?id=924275上读到的。
https://unix.stackexchange.com/questions/586730
复制相似问题