Bash 쉘에서 이상한 물음표가 보입니다.

Bash 쉘에서 이상한 물음표가 보입니다.

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은 모든 곳의 표준이며 다른 인코딩은 이전 애플리케이션이나 장치와의 호환성을 위해서만 사용해야 합니다.

관련 정보