Linuxシェルで入力されたコマンドを非表示にする方法は?


14

コマンドの出力を保持したまま、端末がキーストロークをエコーし​​ないように、シェルで入力しているものを隠す方法はありますか?

たとえば、実行した場合ip addr show、画面に表示されるのはそのコマンドからの出力だけであり、入力した「ip addr show」ではありません。


1
こんにちは。についてもう少し詳しく教えてくださいcontent
ニキルマレー

1
パスワードを入力するときなど、標準入力を非表示にするつもりloginですか?使用していbashますか?さらに情報を提供してください。

内容はコマンドを意味します。たとえば、「ip addr show」というコマンドを入力した場合、入力している内容がbashターミナルに表示されてはなりません。しかし、それの出力を見ることができます
ムギル

3
それは奇妙な要件です。何を達成しようとしていますか?通常のシェルでは、コマンドも履歴に入力され、ディスクに保存されることに注意してください。
ジル「SO-悪であるのをやめる」

回答:


25

入力したコマンドのエコーを無効にする場合は、これを試してください。

stty -echo

次のコマンドを使用してエコーを再度有効にできます。

stty echo

コマンドの出力は多少異なる方法で表示されることに注意してください。このセッション例を参照してください。

$ pwd
/tmp
$ stty -echo
$ /tmp

これは、タイピングpwd、リターンstty -echo、リターンpwd、リターン、リターンの結果です。


2
これは、シェル、およびおそらくプロンプトにどのような奇妙な点を入れたかによって、機能する場合と機能しない場合があります。また、設定はその端末のすべてに適用されます。全画面コマンドを実行すると、にリセットされる可能性がありstty +echoます。
ジル「SO-悪であるのをやめる」
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.