在 Linux CentOS 上安装 oh-my-posh 主题后无法自定义命令提示符

在 Linux CentOS 上安装 oh-my-posh 主题后无法自定义命令提示符

我正在使用 oh-my-posh 主题来自定义我的终端。我想配置我的命令提示符以添加更多详细信息,但安装主题后它不起作用。截图:

命令提示符

仅当我删除主题时,更改命令提示符才有效。

答案1

为什么你的尝试没有成功

Oh My Posh 使用PROMPT_COMMANDenv 挂载到 shell 中并设置自己的PS1。它的工作原理如下:

  1. 你初始化 omp.bash脚本eval "$(oh-my-posh init bash)"或类似的命令。
  2. 剧本添加 _omp_hook功能为PROMPT_COMMAND
PROMPT_COMMAND="_omp_hook; $PROMPT_COMMAND"
  1. 该功能 PS1在打印每一行之前自动执行,覆盖您手动设置的任何内容:
PS1="..."

您可以阅读更多PROMPT_COMMAND内容这里

更改提示

现在如果你想:


  • 暂时将其更改为完全不同的东西,你可以:
  1. 将当前值保存PROMPT_COMMAND在变量中,比如说:
OLD_PROMPT_COMMAND=PROMPT_COMMAND
  1. 设置PROMPT_COMMAND为空白字符串。或者其他任何你想要的,只需_omp_hook跳过即可。PS1手动设置将再次开始工作。例如“
PROMPT_COMMAND="" && PS1="Temporary PS1 "
  1. OLD_PROMPT_COMMAND如果需要,稍后恢复:
PROMPT_COMMAND=OLD_PROMPT_COMMAND

  • 暂时向提示中添加一些内容,使用文本段使用配置为显示环境变量的模板,例如
template: "{{ if .Env.YourVarName }}{{ .Env.YourVarName }}{{ end }}"

然后在 shell 中设置变量:

export YourVarName=test

相关内容