回答
stty_orig=`stty -g` # save original terminal setting.
stty -echo # turn-off echoing.
read passwd # read the password
stty $stty_orig # restore terminal setting.
该命令将读入变种PWD从stdin(与回波禁用):
IFS= read -s -p Password: pwd
取消设置IFS将允许前缘和后在密码空白(这在一些环境中支持,因此最好在您的脚本输入用户凭据期间支持它)
要验证前导/尾随空白处理是否正确,您可以使用:
echo -n "$pwd" | hexdump -C
注意:不要使用真正的密码,因为它会转储到控制台!
HT:Ron DuPlain有关IFS未定位的更多信息。
如果您需要获取passwd以作为参数提供给程序,那么请使用unicorns建议来关闭回声。
在脚本中进行passwd检查不起作用 - 如果用户可以执行bash脚本,他们也有权读取它并查看密码。
如果您只想让拥有passwd的人运行程序,那么安全的方法是创建一个拥有该程序的新用户帐户,并使用'sudo'脚本以该用户身份运行程序 - 它会以安全的方式提示用户密码。
可能会预先计算密码的校验和,并将其存储在脚本中而不是明文中,并根据输入的校验和来测试。尽管如此,它仍然可以被打破,但不那么容易。 – 2010-04-16 18:11:29
在这种情况下,您只需简单地将脚本复制到您有写入权限的地方,然后取消检查。 – 2010-04-16 18:21:56
- 1. 需要sudo密码的Bash脚本
- 2. 如何让Netbeans不要求主密码?
- 3. 如何让git bash在你做拉/推请求时要求密码?
- 4. bash脚本需要输入任何输入
- 5. 在bash脚本中自动输入密码
- 6. 使Windows XP要求输入密码
- 7. Capistrano部署要求输入密码
- 8. 第一个bash脚本帮助(如何输入用户名密码)
- 9. 在运行csh脚本时让python输入密码
- 10. 如何在BATCH中输入bash密码输入?
- 11. bash脚本shell输入
- 12. PowerShell v1脚本提示输入密码
- 13. 如何跳过要求输入密码的结构连接?
- 14. SSH:不要在shell脚本中提示输入密码
- 15. 即使密码在脚本中,SFTP提示输入密码
- 16. 在bash脚本中提示MySQLDump密码?
- 17. perl bash脚本输出输入
- 18. 如何在脚本中输入密码和用户名
- 19. 如何移至UNC位置并通过脚本输入密码?
- 20. AWS要求我输入密钥的密码:EC2
- 21. Passworded SSH密钥突然不*要求我输入密码
- 22. bitbucket:设置SSH密钥,但仍然要求输入密码
- 23. 如何让我的bash脚本工作?
- 24. 如何让输入文本输入到json请求?
- 25. 受密码保护的ssh密钥 - 一次只被要求输入密码
- 26. 如何让bash在输出中插入'
- 27. Bash脚本:不需要的输出
- 28. bash脚本给不需要的输出
- 29. Java代码电子邮件不工作要求输入密码
- 30. 如何将脚本输入bash并将输出沉默?
投票结束时不清楚,请指定您希望密码输入的方式与其他输入不同。没有呼应问:http://stackoverflow.com/questions/3980668/how-to-get-a-password-from-a-shell-script-without-echoing – 2016-06-29 21:26:03