zl程序教程

您现在的位置是:首页 >  其他

当前栏目

shell中算术运算、相加减

shell 运算 相加 算术
2023-09-11 14:21:19 时间

前言

在shell脚本中,所有的变量默认都是字符串存储,操作也是按照字符串进行处理的,但我们不可避免的需要对各中数值进行算术运算,如算术的相加减,那么这时怎么处理呢?
在shell脚本中,我们要实现对数值的算术运行,就要用到一下三种命令方式:
1、let 命令
2、(())命令
3、expr 表达式

let命令

let命令类似于c语言中的算术运行,直接进行数值相加减即可,如:

num1=90
num2=80
let num=num1+num2
echo "相加和为:$num"

(())命令

使用两个小括号进行算术运行,小括号内像正常的数学运算,即直接进行数值相加减即可,也不用,最外层取值才要加美元符号,如下:

num1=90
num2=80
echo "相加和为:$((num1+num2))"

expr 表达式

使用expr 表达式进行算术运算,小括号内必须运算符号必须有空格,同时小括号内的变量需取其值来进行运算,如下:

num1=90
num2=80
expr $num1 + $num2
为了取得整个 expr 表达式的值,最后我们需要使用倒引号或$()的形式,如下:
echo "使用expr命令:`expr $num1 + $num2`"
echo "使用expr命令:$(expr $num1 + $num2)"

注意:倒引号与$()等价的。

演示示例:

[root@Centos8 shell_scripy]# cat let_expr.sh
#!/bin/bash
num1=89
num2=100
let num=num1+num2
echo "使用let命令相加:$num"
echo -n '使用(())命令相加:'
echo "$((num1+num2))"

echo "使用expr命令:`expr $num1 + $num2`"
echo "使用expr命令:$(expr $num1 + $num2)"

总结:

算术运算有三种命令方式

num1=89
num2=100
let num=num1+num2					#第一种
echo "相加和为:$num"
echo "相加和为:$((num1+num2))"			#第二种
echo "使用expr命令:`expr $num1 + $num2`"					#第三种,注意加号有空格
echo "使用expr命令:$(expr $num1 + $num2)"			#第三种