shell判断变量是字符仍是数字

  ok,之后最好是天天一个shell小脚本吧,这样之后工做时还能够直接套用,嗯,比较不错,顺便还能够带给刚入门shell的朋友一些帮助,好了,废话很少说,下面是我两种判断的实现方式:shell

  一、经过grep去筛选非数字,判断其输出状态,如下两种方式:bash

#!/bin/bash
read -p "please input a num: " num if echo $num | grep -q '[^0-9]' then echo "this is not a num,please input num" exit 1 fi
#!/bin/bash
read -p "please input a num: "  num
echo $num | grep -q '[^0-9]'
n1=$?
if [ $n1 -eq 0 ]
then
        echo "this is not a num,please input num"
        exit 1
fi

  二、经过用sed 's///g'替换的方式,把数字替换为null,而后去判断输出是否为null,若是不为null,则说明有字符啦this

#!/bin/bash
read -p "please input a num: "  num
n1=`echo $num|sed 's/[0-9]//g'`
if [ ! -z $n1 ]
then
        echo "this is not a num,please input num"
        exit 1
fi
相关文章
相关标签/搜索