首页 > 系统服务 > 详细

Linux bash中的运算

时间:2019-08-17 21:15:48      阅读:91      评论:0      收藏:0      [点我收藏+]
  1. 第一种,使用((表达式)) 或$((表达式)),如果用单小括号,代表包含的是系统命令

    root@root:~# a=3
    root@root:~# ((b=a+3))
    root@root:~# echo $b
    6
    root@root:~# a=1
    root@root:~# b=2
    root@root:~# echo $(($a+$b))
    3
    root@root:~# echo $((3*(6%4)))
    6
    root@root:~# echo $((1 &&0))
    0

  2. 第二种使用let

    root@root:~# let "c=$a+4"
    root@root:~# echo $c
    7

  3. 使用expr表达式,注意空格和反引号

    root@root:~# d=`expr 4 + 3`
    root@root:~# echo $d
    7
    root@root:~# a=1
    root@root:~# b=2
    root@root:~# c=$(expr $a + $b) #注意+ 号左右两边必须有空格才有效
    root@root:~# echo $c
    3

  4. 放在$[ expression]中,这是bash的推荐的标准处理方法

    root@root:~# a=4
    root@root:~# b=$[$a-9]
    root@root:~# echo $b
    -5

  5. 在C风格的for循环中,则可以如下使用

    root@root:~# for((a=1,b=10;a<=10;a++,b--))
    do
    ((c=a*b))
    echo "$c"
    done
    10
    18
    24
    28
    30
    30
    28
    24
    18
    10

  6. 浮点数运算,借助bc(bash计算器)运算

    基本格式: variable=`echo "option;expression" | bc`
    root@root:~# a=`echo "scale=4;3.25/3" | bc`
    root@root:~# echo $a
    1.0833
    root@root:~# a=6.6
    root@root:~# b=3.5
    root@root:~# c=`echo "scale=5;$a/$b"|bc`
    root@root:~# echo $c
    1.88571

  7. 如果浮点表达是有多行,则可以放在多行计算

    基本格式:
    variable=`bc << EOF
    options
    statements
    expressions
    EOF
    `
    演示:
    root@root:~# a=1.2
    root@root:~# b=2.4
    root@root:~# c=3.5
    root@root:~# d=2
    root@root:~# e=`bc << EOF
    scale=4
    ab=($a+$b)
    cd=($c-$d)
    ab+cd
    EOF
    `
    root@root:~# echo $e
    5.1

  8. Shell中的变量默认都是字符串,可以看到:

    root@root:~# a=1
    root@root:~# b=2
    root@root:~# c=$a+$b
    root@root:~# echo $c
    1+2

  9. bash脚本中使用declare 声明变量
    基本格式: declare [+/-] [选项] 变量名
    选项:
        - :给变量设定类型属性

    + :取消变量的类型属性

    -i :将变量声明为整数型(int)

    -x :将变量声明为环境变量

    -p :显示指定变量的被声明的类型

#!bin/bash
a=1
b=2
c=$a+$b
declare -p a #此步输出 declare -- a="1"
export a
declare -p a #此步输出 declare -x a="1" a已为环境变量
declare -i c=$a+$b
echo $c #输出结果3

root@root:~# bash cmd
declare -- a="1"
declare -x a="1"
3

10.基本与或非运算,幂运算,模运算

root@root:~# echo $((1^0)) #异或
1
root@root:~# echo $((1^1))0root@root:~# echo $((2 & 5)) #按位与0root@root:~# echo $((2 && 5)) #逻辑与1root@root:~# echo $((2 | 5)) #按位或7root@root:~# echo $((2 || 5)) #逻辑或1root@root:~# echo $[!2] #非运算0root@root:~# echo $[!0]1root@root:~# echo $((4%6)) #模运算4root@root:~# echo $((2**3)) #幂运算8`

Linux bash中的运算

原文:https://www.cnblogs.com/xhai/p/11369936.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!