shell 限制用户输入条件

1. 必须输入纯数字, 忽略类似  ' 2'  '3 '   数字前后带空格输入
2. 数字范围必须控制在 10 ~ 90 中

 

#!/bin/bash

status='err'
start=10
end=90

while [ $status !=  'ok' ]
do

        IFS=''
        read input

        if [ -z $input ]
        then
                status='err'
                continue
        fi

        echo $input | grep '\ ' > /dev/null 2>&1

        if [ $? -eq 0 ]
        then
                status='err'
                continue
        fi

        len=`expr length $input`
        a=1
        while [ $a -le $len ]
        do
                char=`expr substr $input $a 1`
                let a++

                if [[ $char =~ [[:digit:]]  ]]
                then
                        :;
                else
                                status='err'
                                continue
                fi
        done

        if (( $input <= $start )) || (( $input >= $end ))
        then
                        status='err'
                        continue
        else
                        status='ok'
        fi

done


 

阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/signmem/article/details/7381490
文章标签: shell input
个人分类: linux shell
上一篇rpmbuild 使用笔记
下一篇正则匹配
想对作者说点什么? 我来说一句

表单输入限制方法代码

2009年01月17日 2KB 下载

没有更多推荐了,返回首页

关闭
关闭