shell实现的密码输入脚本,可将输入字符转换为*

本文介绍了一段在SCO 5.05 KSH环境下调试通过的脚本,该脚本实现了用户输入密码时以*号显示输入字符,并在用户按下回车键后结束输入的功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

#############################################
#!/bin/ksh
#该段脚本实现输入密码并且用*号显示输入字符,
#输入回车键终止输入密码。该代码在SCO 5.05上
#KSH下已经调试通过。
#河南 平顶山 王向宇    2005.05.11
#############################################

#该函数实现无缓冲输入一个字符,并传给位置参数
getchar()
{
       #设置无缓冲输入模式
       stty raw
       #设置输入不回显
       stty -echo
       #将该字符传送给位置参数
       eval =`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 $ + 1`
       getchar char
       tput cup 15 $
       echo "*"
if [ "$"  = "^M" ]
       then
               break
       else
        PWDSTR=$$
fi
done
echo "你输入的密码是: $"
 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值