如何在ruby脚本中隐藏密码输入?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (29)

我对ruby很陌生。我需要通过gets命令接收密码作为输入。

如何在gets期间隐藏输入到终端中的密码?

提问于
用户回答回答于

最佳答案:

require 'io/console'
password = STDIN.noecho(&:gets).chomp

对于1.9.3(及以上),这需要添加require 'io/console'到代码。

用户回答回答于

你也可以使用ruby core。

$ ri IO.noecho

 (from ruby core)
 ------------------------------------------------------------------------------
   io.noecho {|io| }
  ------------------------------------------------------------------------------

 Yields self with disabling echo back.

   STDIN.noecho(&:gets)

 will read and return a line without echo back.

对于1.9.3(及以上),这需要添加require 'io/console'到代码。

require 'io/console'
text = STDIN.noecho(&:gets)

扫码关注云+社区