리눅스 쉘에 입력 된 명령을 숨기는 방법?


14

쉘에 입력하는 내용을 숨길 수있는 방법이 있습니까? 그래서 터미널은 명령 출력을 유지하면서 키 입력을 에코하지 않습니다.

예를 들어, 내가 실행 ip addr show하면 화면에 표시되는 유일한 것은 입력 한 "ip addr show"가 아니라 해당 명령의 출력이어야합니다.


1
안녕하세요. 좀 더 구체적으로 말씀해 주 content시겠습니까?
Nikhil Mulley

1
암호를 입력 할 때와 같이 표준 입력을 숨기는 것을 의미 login합니까? 사용하고 bash있습니까? 더 많은 정보를 제공하십시오.

content는 명령을 의미합니다. 예를 들어 "ip addr show"명령을 입력하면 입력 한 내용을 bash 터미널에 표시해서는 안됩니다. 그러나 그것은 그것의 결과를 볼 수 있습니다
Mughil

3
그것은 이상한 요구 사항입니다. 당신은 무엇을 달성하려고합니까? 일반적인 쉘에서는 명령이 기록에 입력되어 디스크에 저장됩니다.
Gilles 'SO- 악마 그만'

답변:


25

입력 한 명령의 에코를 비활성화하려면 다음을 시도하십시오.

stty -echo

다음 명령을 사용하여 에코를 다시 활성화 할 수 있습니다.

stty echo

명령 출력은 다소 다른 방식으로 표시됩니다.이 세션 예를 참조하십시오.

$ pwd
/tmp
$ stty -echo
$ /tmp

이는 pwd, return stty -echo,, return,, return 을 입력 한 결과입니다 pwd.


2
이것은 쉘에 따라, 그리고 프롬프트에 어떤 이상한 점이 있는지에 따라 작동하거나 작동하지 않을 수 있습니다. 또한 설정은 해당 터미널의 모든 항목에 적용됩니다. 전체 화면 명령을 실행하면로 재설정 될 수 stty +echo있습니다.
Gilles 'SO- 악마 그만'
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.