我想读入一个口令作为命令行脚本的一部分,但不知道输入的口令会出现在屏幕上。这似乎是命令行应用程序中的一个相当常见的功能,但我的Google-fu未能识别它是如何工作的。它是操作系统的一项功能吗?您是否必须以某种方式截取输入流,以便它不会写出到控制台?我想在php命令行脚本中使用它,但我不能使用我不能理解的东西。
一些独立的搜索得到了this链接,在底部他们提到mysqladmin没有使用STDIN来读取密码。那么他们怎么做呢,我该如何实现这个功能呢?
发布于 2016-03-15 12:18:43
回答以防有人发现这是谷歌搜索。
这在纯PHP中是不可能的。解决方案是在Linux上执行一个小的shell脚本,或者在Windows上执行一个小程序。
对于zsh shell,shell脚本将如下所示:
/usr/bin/env zsh -c 'stty -echo; read -r mypassword; stty echo; echo $mypassword'一个完整的工作实现是由来自Composer的Seldaek编写的,您可以在https://github.com/Seldaek/cli-prompt上找到
https://stackoverflow.com/questions/1616167
复制相似问题