저는 bash를 사용하고 권장 UTF-8로 마이그레이션하는 데 계속 문제가 발생한 이후로 Latin1 인코딩을 사용해 왔습니다. 결국 포기하고 모든 것을 UTF-8로 마이그레이션하고 있습니다. 얼마나 고통스러운지...
rxvt
all 및 urxvt
SSH를 사용할 때 특정 문제가 발생했습니다 xterm
. 내 원격 프롬프트는 다음과 같이 설정되어 있습니다.
PS1="\033[32m\[\h:\W> \]\033[0m"
이것은 다음과 같은 멋진 녹색을 보여줍니다.
MyBox:~>
utf-8(모든 언어 및 로케일부터 까지)로 마이그레이션 en_US
한 후 줄의 화살표(뒤로/앞으로 기록) 와 위치가 추적되지 않는다는 오류 (힌트 깨기, 잘못된 문자 제거 등)가 en_US.UTF-8
발생했습니다 . 정말 엉망이군요. 예:UP
DOWN
DEL
BS
Orion:~> ssh [email protected]...
Last login: Sat Oct 3 13:47:42 2020 from NNN.NNN.NNN.NNN
MyBox:~> ls
amp/ ap/ bin/ phantomjs/ varios/
MyBox:~>
UP
기록을 여러 번 다시 클릭하면 다음과 같이 표시됩니다.
MyBox:~vi .basrc
바꾸다
MyBox:~> vi .basrc
그래서 일부 캐릭터가 사라졌습니다. 예를 들어 이렇게 하면 명령줄 편집이 엉망이 됩니다.
~/.inputrc
원격 SSH 시스템에서 파일을 조작해 보았 으나 성공하지 못했습니다. 단축키가 맞는 것 같습니다.
어떤 아이디어가 있나요?
답변1
프롬프트를 잘못 설정했습니다. \[
...섹션에는 \]
다음이 포함되어야 합니다.아니요- 인쇄 문자가 있지만 귀하의 문자에는 인쇄 문자만 포함되어 있습니다. (이것은 Latin1 및 UTF-8과 아무 관련이 없으므로 알고 있어도 안전하다고 느낄 수 있습니다.)
이 시도
PS1="\[\033[32m\]\h:\W> \[\033[0m\]"
자세한 내용은 PROMPTING
쉘 매뉴얼의 섹션을 참조하십시오(내 경우에는).man bash