RHEL7 서버에서 뭔가 이상한 점을 발견했습니다. 셸에는 항상 텍스트의 일부를 포함하는 물음표가 반환됩니다. 다음과 같습니다.
rm file.txt
rm: remove regular file ?file.txt??
아니면 이거:
rm 886- rm: cannot remove ?886-?: No such file or directory
이게 정상인가요?
Ubuntu 16.04 데스크톱에서 RHEL7 서버로 SSH를 통해 연결하고 화면을 사용하고 있습니다. 이것이 차이점의 원인이 될 수 있습니까?
답변1
rm
터미널에서 지원하지 않는 문자를 표시하려고 합니다. 그건 당신이장소설정이 잘못되었습니다. 특히 LC_CTYPE
. 환경 변수는 터미널 에뮬레이터로 설정해야 하며 또는 LC_CTYPE
같은 스크립트로 변경하면 안 됩니다 ..profile
.bashrc
화면이 실행 중임을 나타냅니다. 한 로케일에서 screen 세션을 시작하고 다른 로케일에 연결하면 화면이 지원되지 않는 문자를 로 변환합니다 ?
. 해당 창에서 실행 중인 셸과 같이 이미 실행 중인 응용 프로그램에서는 로케일 설정을 변경할 수 없습니다. 대부분의 응용 프로그램은 로케일 설정을 즉시 변경하는 기능을 지원하지 않습니다. 너~할 수 있다변수를 설정하여 쉘에서 수행하십시오 LC_CTYPE
. 터미널에서 예상하는 내용을 보려면 LC_CTYPE
screen 세션에 연결하기 전에 값을 인쇄하세요.
골치 아픈 일을 피하려면 어디에서나 일관된 로케일 설정을 채택하십시오. 요즘에는 UTF-8이 모든 곳의 표준이므로 다른 인코딩은 이전 애플리케이션이나 장치와의 호환성을 위해서만 사용해야 합니다.