shell之运算符


一 算术运算符:shell

    + - * / %(取余) **(幂)express

1.1 expr计算某个表达式值bash

    expr expression(expr不能计算幂运算)io

    例子:变量

    #!/bin/bash语法

    #计算2和100的差,即-98引用

    result=`expr 2 -100`二进制

    echo"$result"字符

    #计算2和100的和,即102let

    result=`expr 2 +100`

    echo"$result"

    #计算2和5的乘积,即10

    result=`expr 2 \*5`

    echo"$result"

    #计算24和8的商,即3

    result=`expr 24 /8`

    echo"$result"

    #先计算2和6的差,而后再乘以12,即-48

    result=`expr \( 2- 6 \) \* 12`

    echo"$result"

    #错误的语法,没有空格

    result=`expr 2+5`

    echo"$result"

    #错误的语法

    result=`expr2-4*9`

    echo"$result"

    #错误的语法

    result=`expr1-(4-7)`

    echo"$result"

 1.2 用$(())计算:

    #! /bin/sh

    #紧凑格式,计算3和6的和

    result=$((3+6))

    echo"$result"

    #松散格式,计算3和9的和

    result=$(( 3 + 9))

    echo"$result"

    #计算3和6的乘积

    reuslt=$(( 3 * 6))

    echo"$result"

    #计算7和5的商

    result=$(( 7 / 5))

    echo"$result"

    #计算8和3的余数

    result=$(( 8 % 3))

    echo"$result"

    #复合运算

    result=$(( ( 1-4 )* 5 ))

    echo"$result"

 
1.3 用$[ ]计算

    #! /bin/sh

    #加法运算

    result=$[4+5]

    echo"$result"

    #复合运算

    result=$[(1+2)*3]

    echo"$result"

    #幂运算

    result=$[ 2 ** 4 ]

    echo"$result"

 
1.4 用let命令计算

    let命令可执行一个或多个算术表达式,变量名无需$,若是表达式有空格或其余特殊字符,引用起来。

    #! /bin/sh

    #定义变量

    n=10

    #加法运算

    let n=n+1

    echo"$n"

    #乘法运算

    let n=n*10

    echo"$n"

    #幂运算

    let n=n**2

    echo"$n"

 二 位运算符

    <<左移

    >>右移

    &按位与

    | 位或

    ~位非

    ^位异或

2.1自增自减运算符:

    ++varibale 先加1,再赋给variable

    --variable  先减1,再赋给variable

    vaiable++  先用variable,再加1

    variable--   先用variable,再减1

2.2数字常量的进制:

    默认状况下,shell以十进制表示数字,也可用二进制,八进制,十六进制。

    增长前缀:0表示8进制,0x表示十六进制

    井号#:2#100表示2进制,8#42表示8进制

相关文章
相关标签/搜索