算术在Bash中

如何将计算添加到Bash脚本

虽然Bash是一种脚本语言,但它具有几乎所有通用编程语言的功能。 这包括算术函数。 您可以使用多种语法选项来调用表达式的算术评估。 也许最可读的是let命令。 例如

让“m = 4 * 1024”

将计算4次1024并将结果赋值给变量“m”。

您可以通过添加echo语句来打印结果:

让“m = 4 * 1024”echo $ m

您可以通过输入以下代码从命令行对此进行测试:

让“m = 4 * 1024”; 回声$ m

您也可以创建一个包含Bash命令的文件,在这种情况下,您应该在文件顶部添加一行,用于指定应该执行代码的程序。 例如:

#!/ bin / bash让“m = 4 * 1024”echo $ m

假设Bash可执行文件位于/ bin / bash中 。 您还需要设置脚本文件的权限,以便它可执行。 假设脚本文件名是script1.sh ,您可以设置权限以使用该命令使文件可执行:

chmod 777 script1.sh

之后,您可以使用以下命令执行它:

./script1.sh

可用的算术运算与标准编程语言(如Java和C)中的算术运算类似。除了乘法之外,如上所示,还可以使用加法:

让“m = a + 7”

或减法:

让“m = a - 7”

或师:

让“m = a / 2”

或模(整数除法后的余数):

让“m = a%100”

将操作应用于分配结果的相同变量时,可以使用标准算术速记赋值运算符(也称为复合赋值运算符)。 例如,为了增加,我们有:

让“m + = 15”

相当于“m = m + 15”。 对于减法我们有:

让“m - = 3”

相当于“m = m - 3”。 对于部门我们有:

让“m / = 5”

相当于“m = m / 5”。 对于模数,我们有:

让“m%= 10”

相当于“m = m%10”。

另外,您可以使用增量减量运算符:

让“m ++”

相当于“m = m + 1”。 和

让“m--”

相当于“m = m - 1”。

然后有三个“问号 - 冒号”运算符,根据指定的条件是真还是假,返回两个值中的一个。 例如

让“k =(m <9)→0:1”

如果变量“m”小于9,则此赋值语句的右侧计算为“0”。否则,其计算结果为1.这意味着如果“m”较小,变量“k”被赋值为“0”否则为9和“1”。

问号 - 冒号运算符的一般形式是:

条件? value-if-true:value-if-false

Bash中的浮点运算

let运算符仅用于整数运算。 对于浮点运算,您可以使用例如本例中所示的GNU bc计算器:

回声“32.0 + 1.4”| 公元前

“管道”操作符“|” 将算术表达式“32.0 + 1.4”传递给bc计算器,它返回实数。 echo命令将结果输出到标准输出。

算术的替代语法

可以使用反引号(后面的单引号)来评估算术表达式,如下例所示:

echo`expr $ m + 18`

这会将变量“m”的值加18,然后打印出结果。

要将计算值分配给变量,可以使用等号而不在其周围:

m =`expr $ m + 18`

评估算术表达式的另一种方法是使用双括号。 例如:

((m * = 4))

这会使变量“m”的值增加四倍。

除了算术评估外,Bash shell还提供了其他编程结构,例如for循环while循环条件函数以及子例程