- 论坛徽章:
- 0
|
本帖最后由 小小linux 于 2011-04-22 11:13 编辑
- #!/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}"
复制代码 为什么我 在我的 linux中 运行的时候,按回车键,不能退出呢。。 我看了我的 回车也是 ^M
我的是 redhat 9.0 |
|