Chinaunix首页 | 论坛 | 博客
  • 博客访问: 92145953
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类:

2008-04-18 22:30:46

作者:lijunling  出处:Unix爱好者家园unix-cd.com   
############################################# 
#!/bin/ksh 
#该段脚本实现输入密码并且用*号显示输入字符, 
#输入回车键终止输入密码。该代码在SCO 5.05上 
#KSH下已经调试通过。 
#河南 平顶山 王向宇    2005.05.11 
############################################# 

#该函数实现无缓冲输入一个字符,并传给位置参数$1 
getchar() 

       #设置无缓冲输入模式 
       stty raw 
       #设置输入不回显 
       stty -echo 
       #将该字符传送给位置参数$1 
       eval $1=`dd if=/dev/tty bs=1 count=1 2> /dev/null` 
       #恢复回显 
       stty echo 
       #恢复原终端输入模式,也可用命令:stty sane实现同样功能 
       stty cooked 

clear 
#将光标定位到15行10列 
tput cup 15 10 
echo -n "请输入密码:\c" 
#初始化光标位置 
CURPOS=20 
while true 
do 
       #光标向前移动一列 
       CURPOS=`expr ${CURPOS} + 1` 
       getchar char 
       tput cup 15 ${CURPOS} 
       echo "*" 
if [ "${char}"  = "^M" ] 
       then 
               break 
       else 
        PWDSTR=${PWDSTR}${char} 
fi 
done 
echo "你输入的密码是: ${PWDSTR}"
阅读(226) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~