Como ocultar comandos digitados em um shell do Linux?

14

Existe uma maneira de ocultar o que estou digitando em um shell, para que o terminal não faça eco nas teclas digitadas, mantendo a saída do comando?

Por exemplo, se eu executar ip addr show, a única coisa na tela deve ser a saída desse comando - não o "ip addr show" que eu digitei.

Mughil
fonte
1
Oi. Você pode ser um pouco mais específico sobre content?
Nikhil Mulley
1
Você quer dizer ocultar a entrada padrão como quando digita a senha login? Você está usando bash? Forneça mais informações, por favor.
conteúdo significa comandos, por exemplo, se eu digitar um comando "ip addr show", ele não deverá estar visível no terminal bash do que estou digitando. Mas eu posso ver a saída dele
Mughil
3
Esse é um requisito estranho. O que você está tentando alcançar? Observe que, com shells típicos, o comando também será inserido no histórico e salvo no disco.
Gilles 'SO- stop be evil'

Respostas:

25

Se você deseja desativar o eco dos comandos digitados, tente o seguinte:

stty -echo

Você pode reativar o eco usando este comando:

stty echo

Observe que a saída dos comandos será exibida de uma maneira um pouco diferente; veja esta sessão de exemplo:

$ pwd
/tmp
$ stty -echo
$ /tmp

Isso resultou da digitação pwd, retorno stty -echo, retorno pwd, retorno.

Adam Zalcman
fonte
2
Observe que isso pode ou não funcionar, dependendo do seu shell e, talvez, de quais esquisitices você coloca no prompt. Além disso, a configuração se aplica a tudo nesse terminal; se você executar um comando de tela cheia, é provável que seja redefinido para stty +echo.
Gilles 'SO- stop be evil'