Comment masquer les commandes tapées dans un shell Linux?

14

Existe-t-il un moyen de masquer ce que je tape dans un shell, afin que le terminal ne fasse pas écho à mes frappes, tout en conservant la sortie de la commande?

Par exemple, si je lance ip addr show, la seule chose à l'écran devrait être la sortie de cette commande - pas le "show ip addr" que j'ai tapé.

Mughil
la source
1
Salut. Pouvez-vous être un peu plus précis sur content,?
Nikhil Mulley
1
Voulez-vous dire masquer l'entrée standard comme lors de la saisie du mot de passe login? Utilisez-vous bash? Veuillez fournir quelques informations supplémentaires.
le contenu signifie des commandes, par exemple si je tape une commande "ip addr show" elle ne doit pas être visible dans le terminal bash ce que je tape. Mais je peux voir la sortie de celui
Mughil
3
C'est une exigence étrange. Qu'essayez-vous d'accomplir? Notez qu'avec des shells typiques, la commande sera également entrée dans l'historique et enregistrée sur le disque.
Gilles 'SO- arrête d'être méchant'

Réponses:

25

Si vous souhaitez désactiver l'écho des commandes que vous tapez, essayez ceci:

stty -echo

Vous pouvez réactiver l'écho à l'aide de cette commande:

stty echo

Notez que la sortie des commandes s'affichera d'une manière quelque peu différente, voir cet exemple de session:

$ pwd
/tmp
$ stty -echo
$ /tmp

Cela résultait de la frappe pwd, du retour stty -echo, du retour pwd, du retour.

Adam Zalcman
la source
2
Notez que cela peut ou non fonctionner selon votre shell, et peut-être selon les bizarreries que vous mettez dans votre invite. Le paramètre s'applique également à tout dans ce terminal; si vous exécutez une commande plein écran, elle est susceptible de se réinitialiser stty +echo.
Gilles 'SO- arrête d'être méchant'