Как скрыть команды, набранные в оболочке Linux?

14

Есть ли способ скрыть то, что я печатаю в оболочке, чтобы терминал не отражал нажатия клавиш, сохраняя при этом вывод команды?

Например, если я запускаю ip addr show, единственная вещь на экране должна быть результатом этой команды, а не «ip addr show», которое я напечатал.

Mughil
источник
1
Здравствуй. Можете ли вы быть более конкретным content,?
Nikhil Mulley
1
Вы хотите скрыть стандартный ввод, как при вводе пароля login? Вы используете bash? Предоставьте больше информации, пожалуйста.
content означает команды, например, если я ввожу команду «ip addr show», она не должна быть видна в терминале bash, что я печатаю. Но я могу посмотреть на его результаты
Mughil
3
Это странное требование. Чего ты пытаешься достичь? Обратите внимание, что с типичными оболочками команда также будет занесена в историю и сохранена на диск.
Жиль "ТАК ... перестать быть злым"

Ответы:

25

Если вы хотите отключить эхо команд, которые вы вводите, попробуйте это:

stty -echo

Вы можете снова включить echo, используя эту команду:

stty echo

Обратите внимание, что вывод команд будет отображаться несколько иначе, см. Пример этого сеанса:

$ pwd
/tmp
$ stty -echo
$ /tmp

Это произошло в результате ввода pwd, возврата stty -echo, возврата pwd, возврата.

Адам Зальцман
источник
2
Обратите внимание, что это может работать, а может и не работать, в зависимости от вашей оболочки и, возможно, от того, какие странности вы указали в приглашении. Также настройка применяется ко всему в этом терминале; если вы запустите полноэкранную команду, скорее всего, она будет сброшена stty +echo.
Жиль "ТАК ... перестать быть злым"