LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1358|回复: 7

各位大侠,如何让密码不回显?

[复制链接]
发表于 2004-5-20 08:27:02 | 显示全部楼层 |阅读模式
用如下语句时,密码总在屏幕上显示:
$mima=<STDIN>;
如何解决?
发表于 2004-5-20 08:40:10 | 显示全部楼层
@a  =`/usr/bin/stty -echo`;
$mima=<STDIN>;
@a =`/usr/bin/stty echo`;
发表于 2004-5-20 11:07:05 | 显示全部楼层
也可以安装Term::ReadKey模块,然后这样:

  1. use Term::Readkey;

  2. ReadMode('noecho');
  3. $password = ReadLine(0);

复制代码
 楼主| 发表于 2004-5-21 04:38:42 | 显示全部楼层

太好了,这里真是高手云集。非常感谢!!!

感谢!
 楼主| 发表于 2004-5-21 04:48:48 | 显示全部楼层

试了试,apile 兄的办法不行啊!

如题
发表于 2004-5-21 08:58:09 | 显示全部楼层
$rt = `/usr/bin/stty -echo`;
$passwd= <STDIN>;
$rt = `/usr/bin/stty echo`;

可能@a我記錯了..應該$rt才對..
上面是我寫的一個確認帳號密碼的script...用上面方式...
應該可以吧..Run了快一年...也沒人說不對..
你用什麼OS?? 上面主要針對 AIX..
某些OS的stty 位置不是在/usr/bin下...
 楼主| 发表于 2004-5-21 14:27:32 | 显示全部楼层

非常感谢apile 兄的提示,我的系统是REDHAT7!

redhat7下面的文件位置不太一样,我改这样就可以了:
$rt = `/bin/stty -echo`;
$passwd= <STDIN>;
$rt = `/bin/stty echo`;

已经测试通过了!:p
发表于 2007-3-25 18:45:30 | 显示全部楼层
感觉还是 Term::ReadKey 好一点。通用嘛。:)。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表