shell的作用让变量与变量之间产生关系,或者得到一个对应的结果

exprs 是一款表达式计算工具。
shell的作用让变量与变量之间产生关系,或者得到一个对应的结果

exprs 是一款表达式计算工具。

a=10

#b=20

#echo 'expr  $a +$b'

30

echo #[a+b]  + 加 - 减 \ 转义(乘) / 取 (除以)

>va1='expr $a +$b'

>echo "a -b : $va1"

>

>va1= 'expr $a \ $b'

>echo "a * b : $va1"

>

>va1= 'expr $b /$a'

echo "b / a : $va"

>

>va1= 'expr $b %  $a'

>exho "b % a : $va1"

>

>

>if [$a == $b]

then

>

>echo " a 等于 b"

fi

>

>if [$a != $b]

then

>echo "不等于b"

关系运算符只支持数字,不支持字符串,除非字符串的值是数字

>#! /bin/bash 

a=b

>

>if [$a -eq $b]  *#eq相等*

>then

>    

>空格echo "$a -eq $b : a 等于 b"

else

空格echo "$a -eq $b : a 不等于 b"

fi

>if [ $a -ne $b] *#ne 不相等*

then

空格echo " $a -ne $B : a 不等于 b"

esle

空格echo " $a -ne $b : a 等于b"

fi

>

>if [$a -gt $b] * #ge 大于*

then

空格echo " $a -gt $b : a 大于 b"

else

空格echo " $a -gt $b : a不大于b"

fi

>

>if [$a -lt $b]    *#lt 小于*

then

空格echo " $a -lt $b : a 小于 b"

>else

空格echo " $a -lt $b : a 不小于 b"

fi

>

> if  [ $a -ge $b] *#ge 大于等于*

then

空格echo " $a -ge $b : a 大于或等于 b"

else

空格echo " $a -ge $b : a 小于b" 

fi

>

>if [$a -le $b ]    *# $ 小于等于*

> 

>then

空格echo "$a -le $b : a 小于等于 b "

>

>else

空格echo "$a -le $b a大于b"

fi

 

逻辑运算
&&java短路与 前面错了后面就不执行
||java 短路或 前面是对就不执行了

>#! /bin/bash

>

>a=10

b=20

>

>if [[ $a -lt 100 && $b -gt 100]]

then

空格echo "返回 true"

else

空格echo "返回 false"

fi

>

>if [[ $a -lt 100 || $b -gt 100]]

then

空格echo "返回 true"

else 

空格echo "返回 false"

fi

字符串运算符

>= 相等于

!= 不等于

z长度是不是为零

n长度是不是不为零

$是不是为空

文件测试运算符

>-r 是不是可读的

-w 是不是可写的

-x 是不是可执行的

-f 是不是文件

-d 是不是个目录

-s 是不是为空

-e 是不是存在