如何将计算添加到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-falseBash中的浮点运算
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循环 , 条件和函数以及子例程 。