shell判断参数是否为数字

本文介绍如何在Shell脚本中检查传入的参数或变量是否为数字,当遇到非数字时,如何进行错误提示并退出脚本。
摘要由CSDN通过智能技术生成

有些时候我们需要验证脚本的参数或某些变量的值是否为数字,如果不是则需要需要给出提示,并退出脚本。

   [root@xieqichao ~]# cat > test3.sh
   #!/bin/sh
   #1. $1是脚本的第一个参数,这里作为awk命令的第一个参数传入给awk命令。
   #2. 由于没有输入文件作为输入流,因此这里只是在BEGIN块中完成。
   #3. 在awk中ARGV数组表示awk命令的参数数组,ARGV[0]表示命令本身,ARGV[1]表示第一个参数。
   #4. match是awk的内置函数,返回值为匹配的正则表达式在字符串中(ARGV[1])的起始位置,没有找到返回0。
   #5. 正则表达式的写法已经保证了匹配的字符串一定是十进制的正整数,如需要浮点数或负数,仅需修改正则即可。
   #6. awk执行完成后将结果返回给isdigit变量,并作为其初始化值。
   #7. isdigit=`echo $1 | awk '{ if (match($1, &
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值