现在的位置: 首页 >> 操作系统 >> SCO UNIX >> 在Shell中控制输入字符长度的方法
添加时间:2005-8-21 来源:网教中国 作者:
在Shell中控制输入字符长度的方法


文件名: input.sh
用法:input.sh 限制的长度
例:input.sh 8 即限制输入8位。
# input.sh
# 湖北省仙桃市信用联社 吕永辉
trap '' 1 2 3 5 7 9 15 13
getcon(){
stty raw -echo
conchar=`dd if=/dev/tty bs=1 count=1 2>/dev/null`
stty sane
echo "$conchar"
}
while
i=0;clear >/dev/tty
echo "\033[12;15H请输入口令[`printf "%$1s" ' '`]" > /dev/tty
echo "\033[12;26H\c" > /dev/tty
while
[ "$i" = "$1" ] && break
p=`getcon`
[ "$p" = "^[" ] && break # 此处的^[用<ctrl>+<v>和<esc>输入
[ "$p" = "^M" ] && break # 此处的^M用<ctrl>+<v>和<ctrl>+<M>输入
PASS=`echo $PASS$p`
echo "\033[12;`expr 26 + $i`H*\c" > /dev/tty
do
i=`expr $i + 1`
done
do
[ "$p" = "^[" ] && { # 此处的^[用<ctrl>+<v>和<esc>输入
clear;break
}
echo "\n你的输入为:$PASS";break
PASS=''
done
[说明]在输入中敲<Esc>键即可中止输入退出程序。
这仅仅是一个例子,你还可以根据自己的需要调整,也可以把它做成一个函数放在
自己的shell中。
(在SCO OpenServer 5.0.5中测试通过。)


上一篇:引导串 下一篇:利用SCO OPENSERVER 5.0.5建立自己的电子邮件系统
大部分文章摘自网上,如有侵犯您的权益请与我们联系,我们会第一时间进行处理,谢谢! [ 打印文章 ] [ 关闭窗口 ]
推荐文章
·SCO一个网卡上面绑定多个IP地址
·UNIX下实现终端打印的几种方法
·SCO Unix 系统下网卡的安装及故
·curses开发包的man_page
·SCO Unix 故障排除四例
·unix大杂烩--基础型三
·如何实现多台主机的磁带机同时备
·Unix/ELF文件格式及病毒分析
·如何在OpenServer上建立可以显示
·UNIX系统开发-SDB调试技术
相关文章
 
最新文章
·天阔PC服务器 SCO UNIX openserv
·SCO UNIX 5.05 安装指南
·如何在SCO系统中配置modem
·SCO 如何修补中断的符号连接
·SCOUNIX基础讲座--第一讲:存取
·SCO UNIX基础讲座--第二讲shell
·SCO UNIX基础讲座--第三讲vi ed
·SCO UNIX基础讲座--第四讲:系统
·SCO UNIX基础讲座--第五讲:电子
·SCO UNIX基础讲座--第六讲:後援
Google