我想将 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"