for loop
按住enter键直到您到达终端的底部并按住enter键。你会看到提示的背景颜色开始超过提示。
为什么?
什么是修复?
谢谢!
答案 0 :(得分:0)
根据@chepner的建议,我通过电子邮件发送了bug-bash@gnu.org
到目前为止,这似乎是bash中的一个错误(即使最新版本4.4也有)
他们给我的解决方法,到目前为止似乎工作是
$(tput el)
之后
$(tput sgr0)
所以问题中的例子变成了
prompt="@$host \\w : \[$(tput bold)$(tput setab 1)$(tput setaf 7)\]${git_branch}\[$(tput sgr0)$(tput el)\]\$ "
我会粘贴我为完整性而收到的电子邮件
我也和“4.4.12(1) - 发布”一样,但似乎没有 与Bash或提示有关。我只能用printf来获得它 彩色部分只需要在行尾处包裹。
printf“%100s $(tput setab 1)彩色部分$(tput sgr0)再次正常\ n”
如果屏幕滚动,则会显示最后一个字符的背景颜色 复制到下一行。至少有一种方法可以解决这个问题 是在彩色部分结束后清除线的末端 在“$(tput sgr0)”之后添加“$(tput el)”。你可能没有 光标右边的任何东西,所以它只会重置 颜色。
对监控bug-bash@gnu.org的人表示赞赏,因为他们的回复非常快