터미널 입력이 올바르게 랩핑되지 않거나 전혀


15

잠시 동안, 나는 모든 터미널 에서이 지속성 문제를 겪었습니다. 그놈 기본값과 틸다는 둘 다 내가 사용하는 그놈 기본값에 이르기까지 빠른 소용돌이를 냈습니다. 줄 바꿈, 다음 줄에서만 줄 바꿈.

줄의 시작으로 돌아 가기 위해 Ctrl-A를 누르면 대신 첫 번째 입력 줄 앞의 줄 어딘가로 돌아갑니다. 더 이상 입력이 매우 이상해집니다.

이것은 정말 나쁜 설명이며 시각화하기 어렵 기 때문에 다음과 같이 보입니다.

스크린 캡 : 줄 바꿈 테스트

누구나 이것이 무엇인지 알고 있습니까? 특정 상황에서만 발생하는 것이 아니라 모든 터미널 에뮬레이터에서 모든 세션의 시작부터 끝까지 항상 존재하는 영구적 인 것입니다.

출력 printf "%s\n" "$PS1" "$COLUMNS":

leod:~$ printf "%s\n" "$PS1" "$COLUMNS"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ 
80

출력 stty -a:

leod:~$ stty -a
speed 38400 baud; rows 11; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar cs8 -hupcl -cstopb cread -clocal -crtscts
-ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff -iuclc -ixany -imaxbel -iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke -flusho -extproc

3
의 출력을 추가 printf "%s\n" "$PS1" "$COLUMNS"하십시오.
muru

프로그램 test이 터미널을 불안정한 상태로 둘 수 있습니다 . 스크립트라면 질문에 포함시킬 수 있습니까? test먼저 실행하지 않고 입력을 시작하면 텍스트가 정상적으로 줄 바꿈됩니까?
WinEunuuchs2Unix

1
우리는 또한 결과를 볼 수 있습니까 stty -a?
steeldriver

1
@ WinEunuuchs2Unix 잘못된 테스트 (pun 예정). type -a test대신 시도하십시오 .
muru

1
출력은 printf "%q\n" "$PS1"무엇입니까? PS1 내부에 원시 이스케이프 시퀀스가있을 수 있으며 %s그대로 유지합니다 (예 : 출력에서 ​​눈에 띄지 않는 색상을 앞뒤로 변경할 수 있음). %q인쇄 할 수없는 모든 문자를 읽을 수있는 방식으로 인용합니다.
egmont

답변:


7

터미널이 창 크기를 올바르게 인식하지 못했을 수 있습니다. U & L Stackexchange에서 관련 질문을 찾았 습니다. 했으며 누군가 이것이 현재 진행 중인지 확인하는 아래 방법을 제안했습니다.

유형

shopt | grep checkwinsize

출력이 아닌 경우 :

checkwinsize    on

당신이 사용할 수있는

shopt -s checkwinsize

활성화합니다. 비활성화하려면 :shopt -u checkwinsize


1
아마도 나는 충분히 테스트하지 않았지만 내 checkwinsize것은 이미 있었다 on. 나는 shopt -u checkwinsize그것을 끄고 터미널은 여전히 ​​텍스트를 올바르게 감쌌습니다. 이 답변이 OP 문제를 진정으로 해결하는지 확실하지 않습니다.
WinEunuuchs2Unix

훌륭한. 이것이 내가 필요한 수정입니다. 명령 줄 줄 바꿈은 이제 80 자 이상으로 완벽하게 작동합니다.
랜디

@Randy Glad가 효과가 있다고 들었습니다.
Hee Jin
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.