Shell——运算符

目录

一、运算

二、得到结果

三、小脚本案例


一、运算

  • shell是默认变量为字符串,不会直接进行计算:
[root@hadoop-master ~]a=1+2
[root@hadoop-master ~]echo $a
1+2
  • 若需要计算,可使用expr,将1、2、+当做参数传给expr
[root@hadoop-master ~]expr 1 + 2
3
  • 使用乘法时,需要转译
[root@hadoop-master ~]expr 5 * 2
expr: 语法错误
[root@hadoop-master ~]expr 5 \* 2
10

Shell——运算符

        一般,对于需要进行的计算,要用以下语法:

        $"(())"或者$"[]",即:

[root@hadoop-master ~]expr $[5 * 2]
10
[root@hadoop-master ~]echo $((5*2))
10

二、得到结果

        如何将计算命令的值作为结果进行传递

        使用$(),将计算结果放入小括号,或者使用反引号(电脑左上角)

        一些错误示例:

[root@hadoop-master ~]b=expr $[5 * 2]
-bash: 10: 未找到命令

[root@hadoop-master ~]d="expr 5 \* 1"
[root@hadoop-master ~]echo $d
expr 5 \* 1
#输出的是文本

        正确的示例: 

[root@hadoop-master ~]b=$(expr $[5 * 2])
[root@hadoop-master ~]echo $b
10

[root@hadoop-master ~]c=`expr $[5 * 2]`
[root@hadoop-master ~]echo $c
10

        整体来讲还是使用上面的 $"(())"或者$"[]"方便一些

三、小脚本案例

        做一个脚本算a+b的值

        不传参数会报错

[root@hadoop-master sh_test]add.sh
./add.sh:行2: + : 语法错误: 期待操作数 (错误符号是 "+ ")
m=

        计算 

[root@hadoop-master sh_test]add.sh 3 6
m=9

版权声明:如无特殊标注,文章均来自网络,本站编辑整理,转载时请以链接形式注明文章出处,请自行分辨。

本文链接:https://www.shbk5.com/dnsj/74751.html