运行结果如下:
[root@shell-yankerp sh]# sh test.sh 6 3
a-b=3
a+b=9
a**b=216
a/b=2
[root@shell-yankerp sh]#
这也就是特殊位置变量+本章的变量数值运算的结合
let运算命令的用法
例如
[root@shell-yankerp ~]# a=2 [root@shell-yankerp ~]# a=a+8 #没有用let [root@shell-yankerp ~]# echo $a a+8 #输出结果 [root@shell-yankerp ~]# unset a #清除变量 [root@shell-yankerp ~]# a=2 [root@shell-yankerp ~]# let a=a+8 使用let [root@shell-yankerp ~]# echo $a 10 [root@shell-yankerp ~]#
其实还可以这么实现,如下:
[root@shell-yankerp ~]# a=2 [root@shell-yankerp ~]# echo $((a=a+8)) 10 [root@shell-yankerp ~]# echo $a 10 [root@shell-yankerp ~]# unset a [root@shell-yankerp ~]# a=2 [root@shell-yankerp ~]# let a=a+8 [root@shell-yankerp ~]# echo $a 10 [root@shell-yankerp ~]#
两者区别!!!如上
expr命令用法实例:
[root@shell-yankerp sh]# expr 2 + 2 4 [root@shell-yankerp sh]# expr 4 - 2 2 [root@shell-yankerp sh]# expr 4 * 2 8 [root@shell-yankerp sh]# expr 4 / 2 2 [root@shell-yankerp sh]#
当我们选择用*号需要拿转义、需要注意在用expr命令时 左右两侧必须要空格
2、expr配合变量实例
[root@shell-yankerp sh]# a=10 [root@shell-yankerp sh]# a=`expr $a + 10` [root@shell-yankerp sh]# echo $a 20 [root@shell-yankerp sh]#
expr的企业级实战案例:
[root@shell-yankerp sh]# i=5 #这里设置了一个变量 i=5 [root@shell-yankerp sh]# expr $i + 6 &>/dev/null #那么我们使用expr命令 $i + 6 这里的6是一个整数 [root@shell-yankerp sh]# echo $? #执行完成后我们使用特殊变量 $?来判断以上命令 0 ---返回结果为0 [root@shell-yankerp sh]# expr $i + zhangsan &>/dev/null #同时这里又设置了一个变量 在这里的zhangsan是字符串 [root@shell-yankerp sh]# echo $? #使用特殊变量判断 2 #结果为2 [root@shell-yankerp sh]#
利用expr做计算,将一个未知的变量和一个已知的一个整数相加,看返回的值是否为0,如果默认是0 那么就是一个整数。如果非0则输入的就是字符串不是整数。
例:通过参数判断输出内容是否为整数
#!/bin/bash expr $1 + 1 &>/dev/null #这里是一个命令 使用了expr 也使用了特殊的位置变量 if [ "$?" -eq 0 ] #如果以上命令执行结果为0 then #那么 echo "输入的是整数~" #输出一条 输入的是整数 else #否则 echo "/bin/sh $# 请输入一个整数" 这里也使用了特殊的位置变量 fi
运行脚本测试










