关闭

shell 限制用户输入条件

标签: shellinput
860人阅读 评论(0) 收藏 举报
分类:

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


 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:493387次
    • 积分:6630
    • 等级:
    • 排名:第3709名
    • 原创:208篇
    • 转载:6篇
    • 译文:2篇
    • 评论:42条
    文章分类
    最新评论