bash에서 매우 긴 명령을 입력하면 터미널이 올바르게 입력 한 내용을 렌더링하지 못하는 문제가 있습니다. 다음과 같은 명령이 있으면 기대할 수 있습니다.
username@someserver ~/somepath $ ssh -i /path/to/private/key
myusername@something.someserver.com
이 명령은 두 줄로 렌더링되어야합니다. 대신 종종 다음과 같이 랩핑되어 내 프롬프트의 맨 위에 쓰기 시작합니다.
myreallylongusername@something.somelongserver.comh -i /path/to/private/key
내가 다시 가서 거기에 커서가 표시됩니다 어떤 이야기가 때때로 프롬프트의 중간에, 없다, 그러나 보통 라인에 약간의 인수를 변경하려는 경우 위의 내가 타이핑 곳.
Up이전 명령을 수행 할 때 추가 재미가 발생합니다 . 나는 그놈 터미널과 터미네이터 그리고 i3과 시나몬에서 이것을 시도했다. 누군가가 내 프롬프트라고 제안 했으므로 여기 있습니다.
\[\033[01;32m\]\u:\[\033[01;34m\] \W\033[01;34m \$\[\033[00m\]
Ctrll,, reset
및 clear
모두가 말하는 것을 수행하지만, 명령을 다시 입력하거나 Up같은 일이 발생합니다.
확인하고 checkwinsize
bash에서 활성화되었습니다. 이것은 80x24 및 기타 창 크기에서 발생합니다.
이것이 내가 함께 배우는 것입니까? 내가 알아야 할 마술이 있습니까? 정말 짧은 프롬프트를 사용하기로 결정했지만 문제가 해결되지 않습니다.
\[\033[01;32m\]\u: \[\033[01;34m\]\W \[\033[01;34m\] \$ \[\033[0m\]
동작의 기묘함을 피하는 것 같지만 원래 프롬프트를 완전히 존중하는지 모릅니다.
env -i bash --norc
해결됩니다. $ COLUMNS와 $ LINES가 일치합니다. 내 .bashrc에 재미있는 것이 있다는 것을 의미합니까?