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