如何隐藏Linux shell中键入的命令?


14

有没有一种方法可以隐藏我在外壳程序中输入的内容,以便终端不回显我的按键,同时仍保留命令的输出?

例如,如果我运行ip addr show,则屏幕上唯一的东西应该是该命令的输出-而不是我键入的“ ip addr show”。


1
你好 您能更具体一点content吗?
Nikhil Mulley 2012年

1
您是说像在输入密码时一样隐藏标准输入login吗?您在使用bash吗?请提供更多信息。

内容表示命令,例如,如果我键入命令“ ip addr show”,则在bash终端中我键入的内容必须不可见。但是我可以查看它的输出
Mughil 2012年

3
这是一个奇怪的要求。您想达到什么目的?请注意,对于典型的外壳程序,该命令还将输入到历史记录中并保存到磁盘。
吉尔斯2012年

Answers:


25

如果要禁用键入命令的回显,请尝试以下操作:

stty -echo

您可以使用以下命令重新启用echo:

stty echo

请注意,命令的输出将以某种不同的方式显示,请参见以下示例会话:

$ pwd
/tmp
$ stty -echo
$ /tmp

这是由于键入pwd,return stty -echo,,return pwd,return 导致的。


2
请注意,这可能会或可能不会奏效,具体取决于您的shell,以及取决于您在提示中输入的奇数。该设置也适用于该终端中的所有内容;如果您运行全屏命令,则可能会重置为stty +echo
吉尔斯2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.