Bash Shell判断输入的是否是数字,并判断是否是偶数

check_even_num.sh

#! /bin/bash
if [ $# != 1 ] ; then
   echo wrong arg,please input one arg
   exit 1;
fi

 sh check_num.sh -i $1


#执行check_num脚本,如果返回0,则说明是数字
if [ $?  == 0 ] ; then
  #是数字,判断是否是偶数
    if [ $(($1%2)) == 0 ] ; then
     echo "this is an even num"
    else
     echo "this is not an even num"
    fi
else
  #不是一个数字
    echo "Error NaN"
fi

   输入参数,然后判断是否是数字,如果是数字,则判断是否是偶数,如果不是数字,则提示用户



check_num.sh,检查输入是否是数字的脚本

#! /bin/bash
floatExp="^(-?\d+)(\.\d+)?$"
intExp="^-?\d+$"
exp=""
exp=${intExp}
if [ $# != 2 ] ; then
 echo wrong arg nums,please input one arg
 exit 1
fi

case $1 in
"-f")
   exp=${floatExp}
        ;;
"-i")
  exp=${intExp}
        ;;
*)
   echo option shuld be -i or -f
   exit 1
        ;;
esac


if [ `echo $2|grep -P "${exp}"|wc -l` == 1  ] ; then
   echo num $2
   exit 0;
  else
    echo not num
    exit 1;
fi



在这里遇到个问题,在执行第一个脚本调用第二个脚本的时候,如何使用source的方式执行,然后又不退出脚本呢?


你可能感兴趣的:(SHELL,BASH,LINUX)