¿Cómo ocultar los comandos escritos en un shell de Linux?

14

¿Hay alguna manera de ocultar lo que estoy escribiendo en un shell, para que el terminal no repita mis pulsaciones de teclas, mientras mantiene la salida del comando?

Por ejemplo, si ejecuto ip addr show, lo único en la pantalla debería ser la salida de ese comando, no el "ip addr show" que escribí.

Mughil
fuente
1
Hola. ¿Puedes ser un poco más específico al respecto content?
Nikhil Mulley
1
¿Te refieres a ocultar la entrada estándar como cuando escribes la contraseña login? Estas usando bash? Proporcione más información por favor.
contenido significa comandos, por ejemplo, si escribo un comando "ip addr show", no debe ser visible en el terminal bash lo que estoy escribiendo. Pero puedo ver el resultado
Mughil
3
Ese es un requisito extraño. ¿Qué estás intentando lograr? Tenga en cuenta que con shells típicos, el comando también se ingresará en el historial y se guardará en el disco.
Gilles 'SO- deja de ser malvado'

Respuestas:

25

Si desea deshabilitar el eco de los comandos que escribe, intente esto:

stty -echo

Puede volver a habilitar echo con este comando:

stty echo

Tenga en cuenta que la salida de los comandos se mostrará de una manera algo diferente, consulte esta sesión de ejemplo:

$ pwd
/tmp
$ stty -echo
$ /tmp

Esto resultó de escribir pwd, volver stty -echo, volver pwd, volver.

Adam Zalcman
fuente
2
Tenga en cuenta que esto puede o no funcionar dependiendo de su shell y quizás de las rarezas que ponga en su solicitud. Además, la configuración se aplica a todo en ese terminal; Si ejecuta un comando de pantalla completa, es probable que se restablezca stty +echo.
Gilles 'SO- deja de ser malvado'