脚本中运算符、逻辑运算以及用法

bash中的算术运算

[ + - * / : 加减乘除 ]
[ % 求余 ]
[ ** 乘方 ]
[ ++ – 自增自减 ]
[ += -= 增强型赋值 ]
算术运算有特定的写法来完成:

1、 使用let

   n=1+2; echo $n   这样写,默认将1+2当成字符,并不会当成数字运算

   let 1+2   使用let 1+2将被当成数字进行运算,但是结果不显示

   let n=1+2;echo $n  ---> 需要用一个变量保存起来,然后打印变量的值

2、 使用 $ [ ] dollar符加中括号,算术运算写在中括号内

   n=$[3*2] ; echo n

3、 使用 $(()) dollar符跟两个小括号,将执行的算术运算写在这两个括号内

    n=((3*5));echo $n

    不要和 $(CMD)  搞混了, 这种写法是引用命令  

4、 使用命令 expr

     expr 3 * 4  

        -- expr是一个命令,后面跟着的都是参数 注意参数之间要以空格分隔的,不能写成 expr 3*4

     expr 3 \* 4

        --  对于乘号还要转义

5、. 声明为整数

   declare -i n=3+6

   echo  "算术运算表达式"  |bc

逻辑运算:

true ,false —> 逻辑运算中的真的假 是对应于二进制 的1和 0

与运算 & : 和1做与运算,原来是什么就保留什么,和0做与运算,结果都为0

      echo $[12&24]   ---> 结果为8

或运算:| 两个数只要有一个是1,结果就是1,全部为0时,结果才为0

         let $[12|24] ---> 结果为28

取反运算 ! : 逻辑运算符只有两种,要么真true,要么假false,如果是10进制的数字,只要不是0都认为是真

      echo $[!100]    -->  100系统认为是真,取反就变成了假, 结果输出为0

      echo $[!1000]   -->  1000也认为是真,取反也变成了假,结果输出为0

      echo $[!0]      -->  0认为是假,取反成了真,结果输出为1

      true;echo $?    -->  执行状态返回1

      fasle;echo $?   -->  执行状态返回0

异或运算: ^ 不同为1 , 相同为0

    用异或实现两个变量的值互换:  比如有 A B 两个变量 A=10 B=20

    第一步: A=${A^B}   把A与B异或后的结果赋值给A   

    第二步: B=${A^B}   把异或后的值与原来的B值异或, B就成了A

    第三步: A=${A^B}   异或值与原来的A异或,又变成了B 这样A就变成了B
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值