특수 문자가 포함된 파일 이름 나열

특수 문자가 포함된 파일 이름 나열

쉘이 있습니다 zsh(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

관련 정보