내가 오랫동안 실망스럽게 생각한 우분투에서 오랫동안 알아 차린 것은 새로운 줄로 줄 바꿈하는 대신 터미널 너비보다 길어지는 명령 줄에 명령을 입력 할 때입니다. 같은 줄에 1 열을 입력하고 내 명령 줄의 시작 부분을 덮어 쓰기 시작합니다. (실제로 실제 명령을 덮어 쓰지는 않지만 시각적으로 표시된 텍스트를 덮어 씁니다).
그것을 보지 않고 설명하기는 어렵지만 터미널의 너비가 20 자 (내가 120 자와 비슷하지만 예제를 위해)라고 가정하고 영어 알파벳을 에코하고 싶습니다. 내가 입력 한 내용은 다음과 같습니다.
echo abcdefghijklmnopqrstuvwxyz
그러나 키를 누르기 전에 터미널이 어떻게 보이는지는 다음과 같습니다.
pqrstuvwxyzghijklmno
내가 엔터를 치면
abcdefghijklmnopqrstuvwxyz
명령이 제대로 수신되었음을 알고 있습니다. 방금 "o"뒤에 입력 내용을 감싼 후 같은 줄에서 다시 시작했습니다.
너비가 20 자에 불과한 터미널에이 명령을 입력하면 다음과 같이됩니다.
echo abcdefghijklmno
pqrstuvwxyz
배경 : bash를 쉘로 사용하고 있으며 ~ / .bashrc에 다음 줄이 있습니다.
set -o vi
VI 명령으로 명령 행을 탐색 할 수 있습니다. 현재 Ubuntu 10.10 서버를 사용하고 있으며 Putty를 사용하여 서버에 연결하고 있습니다.
다른 환경에서 긴 명령 줄을 입력하면 명령이 터미널 너비보다 길어지고 입력을 계속하면 명령을 볼 수있는 줄 아래에 새 줄이 추가됩니다. 2 가지 라인. 그러나 우분투를 사용하는 것을 기억할 수있는 한, 긴 명령은 한 줄만 차지합니다.
이것은 또한 역사에서 이전 명령으로 돌아갈 때 발생합니다 (Esc를 누르고 이전 명령으로 돌아가려면 'K'를 누르십시오)-터미널 너비보다 긴 이전 명령에 도달하면 명령 줄이 나타납니다. 엉망으로 명령에서 내가 어디에 있는지 알 수 없습니다.
전체 긴 명령을 볼 수있는 유일한 해결 방법은 "Esc-V"를 누르면 VI 편집기에서 현재 명령이 열립니다.
내 .bashrc 파일에 이상한 점이 없다고 생각합니다. "set -o vi"줄을 주석 처리했는데 여전히 문제가있었습니다.
새 Putty 사본을 다운로드했지만 구성을 변경하지 않았습니다. 연결하기 위해 호스트 이름을 입력했지만 여전히 문제가 있으므로 Putty와 관련이 없다고 생각합니다 (필요한 경우가 아니면) 구성을 변경하십시오.)
다른 사람 이이 문제를 겪었습니까? 누구 든지이 문제를 해결하는 방법을 생각할 수 있습니까?
편집하다
내 .bashrc 파일이었습니다. 컴퓨터에서 컴퓨터로 동일한 프로파일을 복사했으며 $ PS1에 특수 문자를 사용하여 어떻게 든 버렸습니다. 이제 $ PS1에 대한 표준 bash 변수를 고수하고 있습니다.
.bashrc의 팁에 대한 @ ændrük 감사합니다!
... 편집 종료 ...
tput smam
/etc/skel/.bashrc
. 복사본으로 교체하는 것이 좋습니다 . 변경 사항을 적용하려면 다시 연결해야하며 자신의 .bashrc 백업을 유지해야합니다.