shell相关

流程控制

一、if

#单if判断
if [ 条件判断 ];then
    command
fi

#if……else……多重判断
if [ 条件判断 ];then
    command1
elif [ 条件判断 ];then
    command2
else
    command3
fi

 

二、for

for i in item1 item2 item3 ... itemn
do
    command
done

for ((赋值;条件判断;下一步))
do
    command
done

 

三、while

while [ 条件判断 ]
do
    command
done

 

四、until

while是在条件为true的时候循环、false时停止,until与while相反,until是条件为false时循环、true时停止。

xuntil [ 条件判断 ]
do
    command
done

break和continue都可以跳出循环,break是跳出所有循环、未循环的不在执行,continue是跳出当前循环、执行下一次循环。

 

五、case...esac...

多选择语句,

casein
模式1)
    command1;;
模式2)
    command2;;
*)
    command3;;
esac

 

运算符

一、算数运算符

原生bash不支持简单的数学运算,但是可以通过其他命令来实现例如awk和expr,expr 最常用。

expr 是一款表达式计算工具,使用它能完成表达式的求值操作,例如两个数相加var=`expr 2 + 2`

使用expr的有2点要注意:表达式和运算符之间要有空格,不能写成2+2;完整的表达式在` `之间,是反引号不是单引号。

 

a=10;b=2
v1=`expr $a + $b`
v2=`expr $a - $b`
v3=`expr $a \* $b`   #*是特殊字符,因此要加转义子
v4=`expr $a / $b`
v5=`expr $a % $b`
echo 'a=10,b=2'
echo "a+b=$v1,a-b=$v2,a*b=$v3,a/b=$v4,a%b=$v5"
if [ $a == $b ];then
  echo 'a等于b'
fi
if [ $a != $b ];then
  echo 'a不等于b'
fi

#脚本运行结果
#a=10,b=2
#a+b=12,a-b=8,a*b=20,a/b=5,a%b=0
#a不等于b

 

二、关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字。假定变量 a 为 10,变量 b 为 20,常用的关系运算符如下。

 

三、布尔运算符

 即与、或、非运算,假设变量 a 为 10,变量 b 为 20,布尔运算示例如下。

 

 

 

四、字符串运算符

 假定变量 a 为 "abc",变量 b 为 "efg",如下是常用的字符串运算符。

 

注意使用-n时,"$a"要用引号括起来。

 

五、文件测试运算符

 

 

 文件类型即ls -l的第一列的第一个字段,如-rw-r--r--就表示普通文件。

 

变量i自增

 let i+=1或let i++
3. ((i++))
4. i=$[$i+1]

 

posted @ 2020-06-12 11:45  Forever77  阅读(124)  评论(0编辑  收藏  举报