列出带有特殊字符的文件名

列出带有特殊字符的文件名

我有一个zshshell(带有 oh-my-zsh 默认配置)。为什么我的ls文件名带有特殊字符,它们打印为:

''$'\316\262''=0.35-L=32-m=10.jld2'

这应该是:

β=0.35-L=32-m=10.jld2

β似乎甩掉了ls。有没有办法来解决这个问题?

更新:正如评论中所建议的,这是我的输出locale

(base) ➜ locale
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
LANG=en_US.UTF-8
LANGUAGE=
LC_CTYPE=UTF-8
LC_NUMERIC=fr_FR.UTF-8
LC_TIME=fr_FR.UTF-8
LC_COLLATE="en_US.UTF-8"
LC_MONETARY=fr_FR.UTF-8
LC_MESSAGES="en_US.UTF-8"
LC_PAPER=fr_FR.UTF-8
LC_NAME=fr_FR.UTF-8
LC_ADDRESS=fr_FR.UTF-8
LC_TELEPHONE=fr_FR.UTF-8
LC_MEASUREMENT=fr_FR.UTF-8
LC_IDENTIFICATION=fr_FR.UTF-8
LC_ALL=

那里似乎有一个错误。有什么建议么?

答案1

为了回答我自己的问题,设置

export LC_ALL="en_US.UTF-8"

在我的.zshrc文件中解决了这个问题!

答案2

正如@kusalananda 所指出的,问题可能是您的语言环境。你的LC_*变量的值是多少(例如LC_ALL)?

我设法通过设置重现该问题LC_ALL=C

要更改您的区域设置,您可以使用以下localectl命令:

  1. localectl list-locales
  2. localectl set-locale

或者在您的中设置环境变量.zshrc

LC_ALL=en_US.UTF-8

相关内容