• shell 算术计算 $(( ))


    摘自 shell 13问

    好了,最后为大家介绍  $(( )) 的用途吧:它是用来作整数运算 的。
    在 bash 中,$(( )) 的整数运算符号大致有这些:
    + - * / :分别为 "加、减、乘、除"。
    % :余数运算
    & | ^ !:分别为 "AND、OR、XOR、NOT" 运算。

    ~ # a=1
    ~ # b=2
    ~ # echo $((a+b))
    3
    ~ # echo $(($a+$b))
    3

    ~ # echo $((a-b))
    -1
    ~ # echo $((a/b))
    0
    ~ # echo $((a*b))
    2

    ~ # echo $((a%b))
    1

    ~ # a=1
    ~ # b=3
    ~ # echo $((a&b))
    1
    ~ # echo $((a|b))
    3
    ~ # echo $((a^b))
    2
    ~ # echo $((!b))
    0
    ~ # echo $((!a))
    0

    例:
    [code]$ a=5; b=7; c=2
    $ echo $(( a+b*c ))
    19
    $ echo $(( (a+b)/c ))
    6
    $ echo $(( (a*b)%c))
    1[/code]
    在 $(( )) 中的变量名称,可于其前面加 $ 符号来替换,也可以不用(busybox中也可以支持),如:
    $(( $a + $b * $c)) 也可得到 19 的结果

    此外,$(( )) 还可作不同进位(如二进制、八进位、十六进制)作运算呢,只是,输出结果皆为十进制而已(busybox不支持):
    echo $((16#2a)) 结果为 42 (16进位转十进制)

  • 相关阅读:
    英语阅读重点单词总结
    Redis 应用
    Python 列表[::-1]翻转
    golang数据类型
    golang变量
    k8s 容器控制台日志收集
    css显示模式
    css选择器
    css样式引入
    GIL锁
  • 原文地址:https://www.cnblogs.com/cute/p/2154784.html
Copyright © 2020-2023  润新知