您的位置:首页 > 运维架构 > Shell

linux 下shell 编程之变量及数学运算

2017-10-27 10:59 681 查看
1.shell中的变量是不分数据类型的,统一按照字符串来存储

2. bash shell只能支持数学整数运算(zsh可以支持浮点)

3.以下都是在bash shell 下进行的数学运算

方法一使用方括号进行基本的整数运算:

#!/bin/bash

var1=1

var2=2

var=$[$var1+$var2]

echo "var=$var"

输出结果:

xiewenhao@Zienon:~/xwh$ ./bc.sh 

var=3

解决bash shell 中无法计算浮点数的方法使用bc

基本格式:var =`echo "options;expresstion " |bc`

#!/bin/bash

var1=1

var2=2

var=`echo "scale=4;$var1+$var2"|bc`

echo "var=$var"

输出结果:

xiewenhao@Zienon:~/xwh$ ./bc.sh 

var=3

以上只是适用较短的运算,如果有多个表达式这种方式就会有点问题,针对这个问题的解决方案就是重定向

基本格式:var=`bc<<EOF

options

statements

expresstions

EOF

`

#!/bin/bash

var1=1

var2=2

var3=3

var4=4

var=`bc<<EOF

        scale=4

        a=($var1+$var2)

        b=($var3+$var4)

        a+b             

        EOF

        `

echo "var=$var"

输出结果:

xiewenhao@Zienon:~/xwh$ ./bc.sh 

./bc.sh: line 25: warning: here-document at line 18 delimited by end-of-file (wanted `EOF')

(standard_in) 6: illegal character: O

(standard_in) 6: syntax error

var=10
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: