WSL:在 shell 中获取损坏的垂直管道 (U+00A6) 而不是管道 (U+007C) 字符

WSL:在 shell 中获取损坏的垂直管道 (U+00A6) 而不是管道 (U+007C) 字符

当使用管道字符编写用于输出/输入重定向的命令时,我得到垂直虚线(或断开的垂直管道)字符而不是垂直实线字符(典型的管道)。 shell 无法正确解释键入的字符,因此我的命令会出现错误。

我的笔记本电脑上有一个标准的 EN/US 键盘,没有数字键。环境是 WSL2(Linux 的 Windows 子系统),无论 shell 是什么,它都会发生(我尝试了 Fish 和 Bash)。

我尝试过:

  • dpkg-reconfigure keyboard-configuration通过我在 101/102/104/105 键键盘之间切换的位置重新配置键盘
  • setxkbmap -layout us这导致无法打开显示“默认显示”味精

编辑(添加额外信息):

  • Windows 10 版本 20H2(内部版本 19042.1348)。
  • 在 WSL2 中,我使用 Ubuntu 20.04 LTS。
  • 我使用默认终端(不知道如何在 WSL 中切换终端)。
  • 使用的字体是 Nerd 字体(酱码 Pro NF),但将字体更改回默认字体并没有什么区别。
  • 当前代码页 65001 UTF-8

答案1

这不是 WSL 本身的问题,而是更常见的 Windows/键盘问题。即使在其他应用程序中,如果我输入|,我¦也会得到。

我使用的是 EN/US 键盘,但是我得到的 Windows 配置为 UK/IRL(爱尔兰)。将 Windows 键盘布局重新配置为 EN/US 后,问题就得到解决。

相关内容