为什么在读取输入中输入长字符串时颜色会出现异常?

为什么在读取输入中输入长字符串时颜色会出现异常?

当我输入很长的字符串时,我似乎无法将光标移动到彩色读取输入的开头。下面的 gif 准确地显示了这一点,光标只是停留在那里,我无法将其移动到更左边。

在此输入图像描述

但是,如果我从读取输入中省略任何颜色,则不会发生这种情况。

在此输入图像描述

这是我不知道的“功能”吗?因为我的脚本依赖于彩色读取输入,所以这让我很困扰。无论如何要解决这个问题吗?

更多信息,使用命令。

read -ep $'\e[31mFoobar\e[0m: ' foo # Colored
read -ep "Foobar: " foo # Not colored

还有我的 bash 版本,如果相关的话。

bash --version
GNU bash, version 5.1.16(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2020 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

相关内容