zsh의 "sty -echo"와 동일한 것은 무엇입니까?

zsh의 "sty -echo"와 동일한 것은 무엇입니까?

Bash를 사용하여 터미널에 작성한 내용을 숨길 수 있나요?

stty -echo

그러나 이는 zsh에서는 작동하지 않습니다. 이 명령을 실행해도 출력이 변경되지 않습니다.

stty -a

stty -echozsh에 해당하는 명령은 무엇입니까?

답변1

zsh프롬프트로 돌아갈 때 터미널이 재설정되는 것 같습니다 . 이는 실제로 매우 유용합니다. 터미널이 손상되어 프롬프트에 갇히거나 제정신을 되찾기 위해 이상한 주문을 시전해야 하는 것을 방지하기 때문입니다.

에 따르면메일링 리스트 토론, 이를 수행하지 않도록 할 수 있지만 줄 편집을 완전히 비활성화하는 대가를 치르게 됩니다 unsetopt ZLE.

답변2

기본적으로 현재 세션과 관련된 터미널 구성은 고정되어 있으므로 수행된 대부분의 설정은 stty수명이 짧습니다.

zsh 문서에 따르면 이 명령을 사용하여 터미널 고정을 해제할 수 있습니다.

ttyctl -u

일반 동결 모드로 되돌리려면:

ttyctl -f 

해동 모드에서는 stty설정이 유지되어야 합니다. 그러나 그것은 사실이 아닌 것 같습니다 -echo.

그러나 단일 명령이나 외부 프로그램에 대해 에코 문자를 일시적으로 비활성화하는 것이 목표라면 기본 동작으로 충분할 수 있습니다.

$ stty -echo;stty -a;read foo
speed 38400 baud; rows 44; columns 165; line = 0;
intr = ^C; quit = ^\; erase = ^H; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd 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
$ echo $foo
abc

stty보고된 -echo설정과 명령에 대한 응답으로 입력된 문자는 화면 read에 반영되지 않습니다.

관련 정보