gpt4 book ai didi

linux - 为什么 super 简单的功能在我的 Mac 终端中无法显示 256 色?

转载 作者:太空宇宙 更新时间:2023-11-04 05:43:50 26 4
gpt4 key购买 nike

长期 Mac(阅读 GUI)用户最近开始运行 Ubuntu,并花了一周左右的时间自定义我的 .bashrc (Ubuntu) 文件和 .bash_profile (Mac),以获取信息丰富且丰富多彩的 PS1 和终端输出。

我有这个小小的功能:

function colors2nums()
{ for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done }

显示 256 种颜色和代码,这样我就可以选择我想要的...

它在 Ubuntu(14.0.4 LTS,Gnome 终端)中完美运行,但在 Mac(OS 10.7.5 iTerm 和 Terminal.app)上根本不起作用。

Ubuntu 上 .bashrc 文件的 PROMPT_COMMAND 函数与 Mac 的 .bash_profile 中的 PROMPT_COMMAND 函数是逐行复制和粘贴的完全相同。

两个 PS1 提示的颜色相同(在 Mac 端只有一些奇怪的间距),并且 ls -GFa(或任何变体)以 LS_COLORS 和 .dircolors 设置的颜色打印。因此,颜色适用于某些输出,但不是全部。在 Mac 上,我得到 256 条线,其颜色与我的 PS1 中最后一个转义颜色(绿色、白色等)设置的终端输入颜色相同。

什么?!?

是的,我尝试了陷阱的 2 种变体 - DEBUG(黑客攻击?):

#trap 'echo -ne \e[0m' DEBUG

trap 'printf "\e[0m" "$_"' DEBUG

它可以重置 Ubuntu 端的输出。两者在 Mac 上都不起作用。

我错过了什么?

最佳答案

在终端中拥有多种颜色是一个相对较新的“发明”,并非所有终端程序都能够处理它。

另请注意,处理它的是实际的终端程序,shell 与它无关。

关于linux - 为什么 super 简单的功能在我的 Mac 终端中无法显示 256 色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32689015/

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