用shel判断所输入的数是否为整数以及输入的个数?

  以前对于shell一直都是处于能看得懂,但是不会写的状态,对于shell的一些参数,变量都不怎么了解,通过对老男孩的视频的学习之后,可以自己写出shell脚本,学会了编写shell的思想,在此感谢老男孩的视频!!!发现有问题的可以加QQ:1419544854,非常感激!(用基本的方法写的shell)

1. 对于用shell进行判断所输入的数是否为整数以及输入的个数?这个问题老男孩的视频里有4种方案,我自己觉得习惯于以下两种方法:

方法一:使用expr进行判断输入的是否为整数:

#!/bin/bash

a=$1

b=$2

Usage(){

 echo "Usage: sh $0 num1 num2"

 exit

}

if [$# -ne 2 ];then

  Usage

  exit

fi

expr $a + 0 > /dev/null2>&1

[ $? -ne 0 ] && Usage

expr$b + 0 > /dev/null 2>&1

[ $? -ne 0 ] && Usage

if [ $a \> $b ];then          

  echo "$a>$b"

elif [ $a \< $b ];then      

 echo "$a<$b"

else

 echo "$a=$b"             

 fi


方法二:sed+正则来判断

#!/bin/bash

a=$1

b=$2

if [$# -ne 2 ];then

 echo "usage:sh $0 num1 num2"

 exit

fi

[ -n "`echo $1|sed 's/[0-9]//g'`" ]&& echo "first is zhengshu" && exit 1

[ -n "`echo $2|sed 's/[0-9]//g'`" ]&& echo "second is zhengshu" && exit 1

if [$a \> $b ];then        

 echo "$a>$b"

elif[ $a \< $b ];then       

 echo "$a<$b"

else

 echo "$a=$b"              

fi



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值