shell脚本编程基础--算术运算与逻辑运算

  • 来源:网络
  • 更新日期:2020-07-10

摘要:系统运维 一、 命令之间的逻辑关系:逻辑与:&&,前一个表达式为假,结果为假;第二段不用再做判断,即第二段不再运行。前一个表达式为真,接着运行下

系统运维

一、 命令之间的逻辑关系:

逻辑与:&&,前一个表达式为假,结果为假;第二段不用再做判断,即第二段不再运行。前一个表达式为真,接着运行下一个表达式,如果下一个表达式也为真,则结果为真。   

总结:两个表达式运行与运算,两个表达式为真,则结果为真;否则为假。   

  

逻辑或:||,前一个表达式为真,结果为真,第二段不再做判断。第一个表达式为假,则运行下一个表达式,第二个表达式为假,结果为假,第二个表达式为真,结果为真。

总结:两个表达式运行或运算,有一个表达式为真,则结果为真;两个表达式都为假,则结果为假。


   例题:

[ $FINLINES -gt 100 ] && echo /etc/inittab is a big file.  ||     echo /etc/inittab is a small file

---------1-----------           ---------------2----------------            -------------3-------------------


说明:1为真时,会执行2;1和2相与的结果是真,后面是或操作,即第3段不再执行

           1为假时,后面是与操作,不执行第2段,1和2相与结果是假,后面是或,执行第3段




二、 算术运算


shell中如何进行算术运算:shell本身把所有的变量都看成字符。如果要进行算术运算,需要进行额外处理。 乘法符号,使用*,有时可能需要转义。

所有下面这些结果,可以使用echo $C  来查看变量C的结果。

1.   let 算术运算表达式

A=3

B=6

let   C=$A+$B     #  let做算术运算,加减乘除


2. $[算术运算表达式]

     C=$[$A+$B]


3. $((算术运算表达式))

    C=$(($A+$B))


4. expr  算术运算表达式,表达式中各操作数及运算符之间要有空格,而且要使用命令引用 

    C=`expr  $A + $B `

    D=$(expr $A + $B)   # 在这里,运算符的两边要有空格。



新网虚拟主机