shell 算术,{if,elif,else}判断语句,布尔运算符,字符串比较,文件判断命令


shell基础算术:

      a=20

      b=10

     加 : echo `expr $a 空格+空格(下同) $b `  输出:30

     减: echo `expr $a - $b `  输出:10

     乘 : echo `expr $a空格 \*空格 $b `  输出:200

     除 : echo `expr $a / $b `  输出:2

     取余 : echo `expr $a % $b `  输出:0


if,else判断语句:

基本语法:

a=10

b=20

if 空格[空格 $a 空格-gt(大于)空格 $b空格];then

echo "$a>$b"

else

echo "$a<=$b"

fi

输出:"10<=20"


判断比较命令:

-eq   意思:=

-ne   !=

-gt   >

-lt   <

-ge  >=

-le   <=


布尔运算符:

!  非

-o  or  且

-a  and 与

例:

#!/bin/bash
a=20
b=30
if [ $a -lt $b -a $a -eq $b ]
then
echo "$a<$b and $a=$b"
else
echo "not and"
#!/bin/bash
a=20
b=30
if [ $a -lt $b -a $a -eq $b ]
then
echo "$a<$b and $a=$b"
else
echo "not and"
fi

if [  $a -lt $b -o $a -eq $b ];then
echo "$a < $b  or $a = $b  "
else
echo "not or"
fi

if [ $a -ge $b ];then
echo "20>=30"
elif [ $a -le $b ];then
echo "20<=30"
else
echo "no"

fi

结果:


字符串比较

-z : 字符串为空时返回true

-n:  字符串非空时返回true

例:

shell 算术,{if,elif,else}判断语句,布尔运算符,字符串比较,文件判断命令_第1张图片

输出:


注意:当一个字符串为空时,$a就为空,那if [ $a = $b ]就等于if[   = $b ],有些情况会报错;


文件判断命令:

-x:判断是否为可执行文件

-e:判断文件是否存在

-w:判断文件可写

-r:判断文件可读

例:

shell 算术,{if,elif,else}判断语句,布尔运算符,字符串比较,文件判断命令_第2张图片

输出:


你可能感兴趣的:(Linux,shell)