我想在密码中读取命令行脚本的一部分,但不要在屏幕上显示输入的密码。这似乎是命令行应用程序中相当常见的功能,但我的Google-fu无法确定其工作原理。它是操作系统的一个功能吗?您是否必须以某种方式拦截输入流,以便它不会写入控制台?我想在php命令行脚本中使用它,但我无法使用我无法理解的内容。
一些独立搜索产生了this链接,在底部向下,他们提到mysqladmin不使用STDIN来读取密码。他们如何做到这一点,我怎么能实现这个功能?
答案 0 :(得分:0)
如果有人发现这个谷歌搜索,请回答。
在纯PHP中是不可能的。解决方案是为Linux执行小型shell脚本或为Windows执行小程序。
对于zsh shell,shell脚本看起来像这样:
/usr/bin/env zsh -c 'stty -echo; read -r mypassword; stty echo; echo $mypassword'
Seldaek从Composer编写了一个完整的工作实现,您可以在https://github.com/Seldaek/cli-prompt找到