详解Shell编程之变量数值计算(一)

2019-09-23 08:59:15丽君

[root@shell-yankerp sh]# cat aaa.sh  
#!/bin/bash 
expr $1 + 1 &>/dev/null 
if [ "$?" -eq 0 ] 
 then 
  echo "输入的是整数~" 
 else 
  echo "/bin/sh $0 请输入一个整数" 
fi 
[root@shell-yankerp sh]# sh aaa.sh 123 
输入的是整数~ 
[root@shell-yankerp sh]# sh aaa.sh zhangsan lisi 
/bin/sh aaa.sh 请输入一个整数 
[root@shell-yankerp sh]# 

实战:第一关判断参数个数是否为2.若不是请给出提示
          第二关判断参数是否为整数,如果不是那么继续给出提示
          第三关做运算~~~

#!/bin/bash 
if [ "$#" -ne "2" ] 
 then 
  echo "/bin/bash $0 请输出两个数值..." 
  exit 1 
fi 
#no.2 
a=$1 
b=$2 
expr $1 + 1 &>/dev/null 
if [ "$?" -ne "0" ] 
 then 
  echo "请输入数值..." 
  exit 1 
fi 
#no.3 
echo "a+b=$((a+b))"  
echo "a-b=$((a-b))" 
echo "a/b=$((a/b))" 
echo "a*b=$((a*b))" 
echo "a**b=$((a**b))" 
echo "a%b=$((a%b))" 

剖析:在以上脚本中其实很简单,第一if 如果输入的不是两个传参值,那么给出提示 这是第一段if条件语句,如果输入的是两个数值,那么继续执行下面的条件,在第二个条件使用了位置参数变量$1 使用了expr命令来判断用户输入的是数字还是字符串,当用户输入的是数字那么就是返回是成功的 那么我们使用了if语句 如果上面命令执行成功 如果不等于0 那么给出相应的提示,最后前面的两个条件成立,那么接下来进行算法,这个前面是说过的。

执行脚本如下:

好了 本次就到这里,希望阅读者快快吸收~~~ 后续不断更新 谢谢大家,也希望大家多多支持易采站长站。

声明:以上文章是<<跟着老男孩学Linux运维Shell编程实战>>第五章;一部分看完的总结!