![Bash의 에코가 멈추면 어떻게 해야 합니까?](https://linux55.com/image/58536/Bash%EC%9D%98%20%EC%97%90%EC%BD%94%EA%B0%80%20%EB%A9%88%EC%B6%94%EB%A9%B4%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%ED%95%B4%EC%95%BC%20%ED%95%A9%EB%8B%88%EA%B9%8C%3F.png)
직장에서 사용하는 애플리케이션 중 하나가 때때로 bash와 충돌하여 더 이상 입력 내용이 표시되지 않습니다. 즉
$ echo foo
foo
$
~이 되다
$ foo $
나는 실수로 를 실행하려고 했고 stty -echo
, 이로 인해 상황이 더 악화되었고 이제 모든 명령을 받아들이는 것이 중단되었습니다. 이로 인해 내 입력은 >
모든 개행만 표시되고 다른 것은 아무것도 발생하지 않는 상태가 되었습니다.
어떻게 해야 합니까?
답변1
이런 종류의 문제를 해결하는 일반적인 방법은
stty sane
상황을 악화시켜서는 안 됩니다 stty -echo
. 이는 이미 가지고 있는 입력의 에코를 끄는 것이기 때문입니다.
사실, return이라고 말하는 것은 단지 >
발생을 일으키는 것입니다. 즉, 다음 줄이 계속되도록 하는 무언가를 시작했음을 의미합니다. 예를 들어 문자열이 echo '
끝나기를 기다리고 있기 때문에 그렇게 할 것입니다 . '
다른 이유로 인해 이 문제가 발생할 수 있습니다. 예를 들어 섹션 if something
을 기다리고 있습니다 then ... fi
.
터미널이 너무 복잡해서 인터럽트도 생성하지 않는 한, 해당 단계에서 명령의 나머지 부분을 기다리는 것을 중지하려면 ctrl- 를 누를 수 있습니다 .c
답변2
>
@wurtel의 답변(특히 질문의 가능한 해석) 외에도 stty echo
반대이므로 stty -echo
사용할 수 있습니다. reset
일반적으로 ncurses 패키지와 함께 제공되는 를 사용할 수도 있습니다 .