PS1 中的 Unicode 字符使换行行为变得奇怪(不重复)

PS1 中的 Unicode 字符使换行行为变得奇怪(不重复)

我想将 Unicode 字符 Δ 放入PS1,但是当我这样做时,当输入长命令时,终端不会换行,而是会覆盖当前行!

当我删除 Unicode 字符时,问题就不会发生,并且我很确定我转义了所有内容。

export PS1="Δ "

终端覆盖当前行

我该如何解决?

学期。信息:

$BASH_VERSION => 5.0.16(1)-release
        $TERM => xterm-256color
! stty
speed 38400 baud; line = 0;
-brkint -imaxbel iutf8

PS解决方案在bash 提示符未按预期换行由于忽略 Unicode 字符也会导致字符计数不正确,因此也会导致奇怪的行为。

答案1

正如@mosvy 在评论中所说,问题在于locale设置!

我的语言环境被设置为不存在的语言环境,因此我将其更改为实际存在的语言环境,在我的情况下是C.UTF-8(使用 获取语言环境列表locale -a)。

export LC_ALL="C.UTF-8"

相关内容