shell 限制用户输入条件

原创 2012年03月22日 00:19:09

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


 

版权声明:本文为博主原创文章,未经博主允许不得转载。

第四章:shell处理用户输入

1.命令行参数 向shell脚本传数据的最基本的方法是使用命令行参数,命令行参数允许在运行脚本时向命令行添加数据值 ./addem 10 30 向脚本addem传递了两个命令行参数(10和30),...
  • zhengwei125
  • zhengwei125
  • 2016年12月16日 18:08
  • 392

Linux Shell 读取用户输入

在Linux Shell下读取用户输入可以使用read命令。 用法: echo "Input something:" read input echo "Your input is: $input"...
  • simmerlee
  • simmerlee
  • 2016年10月12日 10:23
  • 3570

shell之条件测试和判断语句

一 条件测试: Shell中,用测试语句测试指定的条件表达式的条件的真或假 当指定条件为真时,返回0,反之,返回非0 条件测试的语法:test命令和[ 命令] testexpressio...
  • qq504196282
  • qq504196282
  • 2016年11月01日 12:01
  • 247

Shell读取用户输入【以及循环读取验证和while循环中添加多个条件[ .. ] &&或者|| [ .. ]】

文章来源:http://blog.csdn.net/zilong00007/article/details/6681090 14.2  读取用户输入 14.2.1  变量 上一章我们谈到如何...
  • buster2014
  • buster2014
  • 2015年06月03日 14:19
  • 2892

限制输入的次数用到while循环

#include int main() { int a,b,n; scanf("%d",&n); while(n>0) { scanf("%d%d",&a,&b); printf("%...
  • yuzuodeyunwcj
  • yuzuodeyunwcj
  • 2015年06月04日 14:04
  • 468

linux shell获取用户输入

一、获取用户输入1、基本读取read命令接收标准输入的输入,或其它文件描述符的输入。得到输入后,read命令将数据输入放入一个标准变量中。[root@rac2 ~]# cat t8.sh #!/bin...
  • z_qifa
  • z_qifa
  • 2017年07月03日 15:53
  • 491

Shell脚本学习笔记-用户输入处理

1. 字符串操作
  • swordgirl2011
  • swordgirl2011
  • 2016年05月04日 01:44
  • 2089

linux shell读取用户输入

变量 1 [hadoop@master test]$ name=yunix [hadoop@master test]$ echo $name yunix  2 [hadoop@master t...
  • snrqtdhuqf
  • snrqtdhuqf
  • 2012年02月08日 13:19
  • 12027

Shell脚本基础3-获取用户输入

本文来介绍获取用户输入的场景。大概是这样一个场景:在命令终端提示用户输入一些什么内容,然后在用户输入完后,会打印刚刚用户输入的内容,这里要用到read这个命令。 1. 看看一个简单的场景 运行...
  • u011541946
  • u011541946
  • 2017年05月20日 17:37
  • 847

shell 暂停等待输入,根据输入进入不同分支

#check ndk version number max_version=8 if [ -e /opt/android/ndk/RELEASE.TXT ] ; then     ndk_ver...
  • fengyunjh6
  • fengyunjh6
  • 2015年01月04日 14:17
  • 1045
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shell 限制用户输入条件
举报原因:
原因补充:

(最多只允许输入30个字)