gpt4 book ai didi

bash - 将终端颜色扩展到行尾

转载 作者:行者123 更新时间:2023-11-29 08:45:51 25 4
gpt4 key购买 nike

我有一个生成 motd 的 bash 脚本。问题取决于某些终端设置,我不确定颜色是否会延伸到行尾。有时它不会:

例如

square

对比

jagged

IIRC 一个只是普通的 gnome 终端,另一个是我的 tmux 术语。所以我的问题是我怎样才能让它扩展到 80 个字符(或者真正扩展到终端宽度)。当然,我可以填充到 80 个字符,但这并不能解决问题。

这是我生成 motd 的代码片段:

TC_RESET="^[[0m"                                                                
TC_SKY="^[[0;37;44m"
TC_GRD="^[[0;30;42m"
TC_TEXT="^[[38;5;203m"

echo -n "${TC_SKY}

... lots of printing..."
echo -e "\n Welcome to Mokon's Linux! \n"

echo -n "${TC_GRD}"
nodeinfo # Just prints the info seen below...
echo ${TC_RESET}

我如何通过 bash 以编程方式更改终端设置或更改行尾的颜色?

最佳答案

也许使用 Escape sequence to clear-to-EOL

出于某种原因(在我的 MacOS 终端上!)我只需要指定这个序列然后它适用于所有行但为了完整性我列出了所有行

TC_RESET=$'\x1B[0m'
TC_SKY=$'\x1B[0;37;44m'
TC_GRD=$'\x1B[0;30;42m'
TC_TEXT=$'\x1B[38;5;203m'
CLREOL=$'\x1B[K'

echo -n "${TC_SKY}${CLREOL}"
echo -e "\n ABC${CLREOL}\n"
echo -e "\n DEFG${CLREOL}\n"

echo -n "${TC_GRD}"
echo -e "\n ABC${CLREOL}\n"
echo -e "\n DEFG${CLREOL}\n"
echo ${TC_RESET}

关于bash - 将终端颜色扩展到行尾,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19915208/

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