You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下Dracula主题中Bash脚本输出颜色溢出到下一行如何解决

问题原因

这个颜色溢出问题和Dracula主题无关,是脚本未主动重置终端颜色属性导致的:
你在循环中设置了47m(白色背景)、40m(黑色背景)的ANSI转义码后,没有主动调用重置序列,终端会一直沿用最后一次设置的背景色,你每行末尾的echo ""仅负责换行,换行后的行首空白会被最后设置的背景色填充,就出现了颜色溢到下一行的问题。

修复方案

修改脚本,在每行所有色块输出完成后,先输出\033[0m(重置所有终端文本属性),再换行即可。

修正后的完整代码
#!/bin/bash

for i in {1..9}
do
        for j in {1..9}
        do
                total=$(( $i+$j ))
                tmp=$(( $total%2 ))

                if [ $tmp -eq 0 ];
                then 
                        echo -e -n "\033[47m  "
                else
                        echo -e -n "\033[40m  "
                fi
        done
        # 每行结束先重置颜色再换行
        echo -e "\033[0m"
done
echo -e "\n"

内容的提问来源于stack exchange,提问作者GauravSolo

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 23:09:02