|
发表于 2003-9-3 17:01:01
|
显示全部楼层
在sed中的正则表达式是不能使用在if语句中的!
你可以这样:- #!/bin/ksh
- #要求用户必须输入大于四位的数字
- while true
- do
- echo -n "请输入四个以上的数字:"
- read num
- var=$(echo "$num*1"|bc)
- #变量var存放你输入的字符的值,如果你输入的数字和1相乘,那么var的值就应该是num,否则num就不是数字.
- len=${#num}
- #变量len存放输入的长度
- if [[ $num != $var || $len < 4 ]] then
- #进行检测,如果你输入有非数字字符,或者长度小于4个,便提示错误信息
- echo "错误! 重新输入"
- continue
- else
- echo "输入正确,退出!";exit 0
- fi
- done
复制代码 |
|