编写一个bash脚本时,需要用户输入一个密码,方可继续后续流程,但是又要保证用户输入的密码不会被别人看到,因此排除了通过参数将密码传入脚本的方案。
不绕圈子,揭晓答案:设置终端状态为“字符不回显”(如果你了解过termios的话,也一定听说过)
方法就是:
stty -echo #设置输入字符不回显
#此处用read语句接收用户输入的内容
stty echo #取消不回显状态
ps: 谢谢symclark给出的好建议!他的建议是使用read的-s选项直接就可以实现输入内容不回显,不必像我文章中写的那么麻烦。:)
over~
read 不是有个 -s 可以用吗?
回复
rocrocket Reply:
三月 12th, 2010 at 12:31 下午
赞,简便得很。
之前我不知道这个参数。
感谢分享!
回复