过去几个月我一直在使用 oh-my-sh,天哪,我喜欢它:),我注意到有一个颜色数组 fg_bold[],通过使用该数组,我们可以用颜色回显信息性消息。
例如: echo $fg_bold[yellow] “让我们让它发挥作用!”
从终端执行这个工作就像一个魅力。
但似乎如果我打开一个全新的 zsh 脚本,然后复制并粘贴它,它就会失败($fg_bold[yellow] 为空):
#!/usr/bin/zsh #取自
which zsh
echo $fg_bold[yellow] "让我们开始吧!"
更多要添加的 fg_bold 数组没有出现在env
和 中printenv
。我在这里缺少什么?
谢谢你们
答案1
该变量是从 colors
自动加载函数中提取的。
您需要加载并运行该函数:
autoload colors
colors
请注意,您还可以使用不需要该colors
功能的提示扩展:
print -P %F{red}
或者:
echo ${(%):-%F{red}}
无论如何,这是一个关联数组壳变量,不是可以或应该导出到环境中的东西。如果您想查看其声明,请使用typeset -p fg_bold
(请注意,该变量具有-H
(隐藏值)属性,因此typeset -p
会显示值,您可以使用 删除该属性typeset +H fg_bold
,或使用 查看值typeset fg_bold
)。