터미널에 새로운 줄이 표시되지 않는 이유는 무엇입니까?


16

예를 들어 다음 명령을 입력하면

echo line | (cat >/dev/null; vi)

다른 껍질로 싸서

sh -c 'echo line | (cat >/dev/null; vi)'

Vim에서 돌아 왔으므로 이제 캐리지 리턴이 더 이상 표시되지 않습니다.

새 줄을 다시 표시하려면 어떻게해야합니까? (종료하지 않고)


의무적으로 전환해야 할 발언 :)
Dang Khoa

답변:


36

다음 중 하나 또는 둘 다 시도하십시오.

  • 을 입력 ctrl+c한 다음을 입력 reset하고를 누릅니다 enter.
  • 을 입력 ctrl+c한 다음을 입력 stty sane하고를 누릅니다 enter.

ctrl+c명령 줄에 입력 한 수있는 다른 문자를 취소하는 것입니다.

reset또는 stty sane일반적으로 엉망인 터미널을 수정합니다. 의 매뉴얼 페이지를 읽기 resetstty더 많은 정보를 얻을 수 있습니다.

터미널이 충분히 엉망인 경우에는 짝수 ctrl+c이거나 enter예상대로 작동 하지 않을 수 있습니다 . 문자를 입력하는 다른 방법이 여전히 있지만 고대의 어두운 마법과 관련이 있습니다. 이 경우 일반적으로 터미널을 닫고 다른 터미널을 시작하는 것이 더 쉽습니다.

터미널의 내부 작업에 대한 나의 이해는 그 이유 또는 방법을 설명하기에 충분하지 않습니다.


4

vistdin에서 입력을받는 것은 아닙니다 .

어쨌든, 당신은 다시 줄 바꿈을 얻을 수 있습니다

stty sane

터미널을 재설정하지 않고.

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