7

我正在编写一个 bash 脚本,在该脚本中我从输入中读取单个字符。我这样做是使用read -n 1 -s. -n 1是只读取一个字符;-s是“静默”模式,在这种模式下键入的字符将不可见。

问题是,当当前执行的命令不存在read时(每当 bash 脚本中的一些其他命令正在执行时),字符就会显示在终端中。

这是终端中程序的正常行为。要禁用此功能,通常会禁用回显模式,例如使用 termios 库。

如何在 bash 脚本中实现这一点?

我更喜欢纯 bash / Unix 命令的解决方案(没有其他脚本语言,如 python、perl 等)。

4

1 回答 1

16
stty -echo
# Anything they type won't output here
stty echo
# Now it will
于 2012-06-11T20:25:54.310 回答