gpt4 book ai didi

alias - 使用带颜色/格式字符的 echo 时出现 Zsh 问题

转载 作者:行者123 更新时间:2023-12-02 10:11:21 29 4
gpt4 key购买 nike

我刚刚切换到 zsh,现在正在调整别名,其中打印一些文本(彩色)以及命令。

我一直在尝试使用$fg数组var,但是有一个副作用,所有命令在执行之前都会被打印。
如果我只是在终端中使用颜色代码测试回声,也会发生同样的情况:

echo $fg_bold[blue] "test"
]2;echo "test" test #the test is in the right color

为什么命令在执行它应该执行的操作之前打印自身? (我精确地说,当在没有任何可变命令的情况下打印时,不会发生这种情况)我是否需要为 zsh 设置特定选项,使用带有特殊参数的 echo 来摆脱它?

最佳答案

首先执行命令(将其输出保存在某处),然后发出echo。我能想到的最简单的方法是:

echo $fg[red] `ls`

编辑:好的,所以您的麻烦是在 echo 实际输出之前出现一些垃圾。您有一些有趣的配置给您带来了麻烦。

要做什么(除了检查您的配置之外):

  • 使用 zsh -f 启动 shell(它将跳过任何配置),然后重试 echo 命令:autoload color;颜色; echo $fg_bold[red] foo (这应该表明问题出在您的配置中)。
  • 很可能您的配置定义了一个 precmd 函数,该函数在每个命令之前执行(这在某种程度上失败了)。尝试 which precmd。如果未定义,请尝试 echo $precmd_functions (precmd_functions 是在每个命令之前执行的函数数组)。知道正在执行的代码将帮助您在配置中搜索它(我假设您只是从其他人那里获取的)。

如果我不得不猜测,我会说您在使用 oh-my-zsh 时并不确切知道您打开了什么(这是无穷无尽的麻烦来源)。

关于alias - 使用带颜色/格式字符的 echo 时出现 Zsh 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16562123/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com