美文网首页
从零开始学习Linux(三十七):Shell基础之bash运算符

从零开始学习Linux(三十七):Shell基础之bash运算符

作者: 通靈鹿小六 | 来源:发表于2020-12-28 06:24 被阅读0次

    1、declare声明变量类型

    命令格式:declare [+/-][选项] 变量名;
    参数说明:

    • -:给变量设定类型属性;
    • +:取消变量的类型属性;

    注意:取消命令是+,设定命令是-,和我们通常的认知相反!!!

    选项说明:

    • i:将变量声明为整数型(integer);
    • x:将变量声明为环境变量;
    • p:显示指定变量的被声明的类型;

    声明变量num1,执行 declare -p num1 查看num1的类型。
    给变量设定整数类型 declare -i num1,再次查看num1的类型。
    给变量取消整数类型 declare +i num1,再次查看num1的类型。

    整个过程如下图所示:

    2、数值运算

    2.1、方法1

    使用declare为结果变量定义类型。

    [root@VM-0-8-centos sh]# aa=11
    [root@VM-0-8-centos sh]# bb=22
    [root@VM-0-8-centos sh]# declare -i cc=$aa+$bb
    [root@VM-0-8-centos sh]# echo $cc
    

    此种方式不支持小数运算

    2.2、方法2

    使用expr或let数值运算工具。

    注意:命令$(expr $aa + $bb)之中,+左右必须要有空格, let与expr一样!!!

    此种方式不支持小数运算

    2.3、方法3

    使用$((运算式)) 或$[运算式]。

    强烈推荐使用这种方式!!!

    此种方式不支持小数运算

    3、运算符优先级

    优先级 运算符 说明
    13 -, + 单目负、单目正
    12 !, ~ 逻辑非、按位取反或补码
    11 *,/, % 乘、除、取模
    10 +, - 加、减
    9 << , >> 按位左移、按位右移
    8 <=, >=, < , > 小于或等于、大于或等于、小于、大于
    7 == , != 等于、不等于
    6 & 按位与
    5 ^ 按位异或
    4 | 按位或
    3 && 逻辑与
    2 || 逻辑或
    1 =,+=,-=,*=,/=,%=,&=, ^= ,|=, <<=, >>= 赋值、运算且赋值

    执行下方计算命令:

    echo $(( (11+3)*3/2 ))
    echo $(( 14%3 ))
    echo $(( 1&&0 ))
    echo $(( 1||0 ))
    

    结果如下图所示:

    相关文章

      网友评论

          本文标题:从零开始学习Linux(三十七):Shell基础之bash运算符

          本文链接:https://www.haomeiwen.com/subject/tagknktx.html