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

VS

IIRC只是正常的gnome-terminal,另一个是我的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}
Run Code Online (Sandbox Code Playgroud)
如何以编程方式从bash更改终端设置或某些内容将颜色更改为行尾?
nhe*_*hed 15
也许使用Escape序列来清除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}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3445 次 |
| 最近记录: |