首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash:__vte_prompt_command:未找到命令

bash:__vte_prompt_command:未找到命令
EN

Unix & Linux用户
提问于 2020-05-14 23:48:24
回答 1查看 1.6K关注 0票数 3

每次我打开命令终端或按下输入上述错误消息时,都会显示up.Does无害,但非常烦人。

~/..bash_profile在这里

代码语言:javascript
复制
# .bash_profile
# Get the aliases and functions
if [ -f ~/.bashrc ]; then
. ~/.bashrc
fi
# User specific environment and startup programs

这是导致/etc/bashrc中错误的区域。

代码语言:javascript
复制
  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中,问题就解决了。

代码语言:javascript
复制
source /etc/profile.d/vte.sh

显然,_vte_prompt_comand只在vte.sh中定义

代码语言:javascript
复制
__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不是在启动时加载的吗?有人能解释为什么会这样吗?

EN

回答 1

Unix & Linux用户

发布于 2021-03-19 19:10:04

来自gnome终端3.7.0Changelog:

为了使在终端中打开的新选项卡具有与当前选项卡相同的工作目录,运行在终端中的shell必须进行协作。为此,vte安装必须在bash PS1提示符中使用的bash脚本。(...)

我在搜索相同的问题时从https://bugzilla.redhat.com/show_bug.cgi?id=924275上读到的。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/586730

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档