文章首发于【陈树义的博客园】,点击跳转到原文:https://www.cnblogs.com/chanshuyi/p/quick_start_of_shell_09_arithmetic.html
在 Shell 中进行数据运算是一件很头疼的事情,因为 Shell 的数学运算和我们高级语言中的语法完全不一样。例如在 Java 中下面一个简单的算术:
int a = 10 + 5;
你以为是这么写的:
#!/bin/bash
a=10+5
echo $a
但实际上上面的输出是:10+5
。我们在第四小节的时候说过,Shell 中把所有东西都当成是一个字符串,所以这里它并不知道我们要它进行数学运算。实际上在 Shell 中你要进行这样的数学运算,你应该这么写:
#!/bin/bash
a=`expr 10 + 5`
echo $a
当然了,你还可以这么写:
#!/bin/bash
let a=10+5
echo $a
这两种方式都可以实现简单的数学运算。但相比这两种,我更推荐用下面这种形式:
(( a = 10 + 5 ))
echo $a
即将需要运算的内容放在两对中括号里面。因为这种方式更加简洁,并且功能也是最为完整,也是最为接近高级语言的写法。