代码拉取完成,页面将自动刷新
在 Shell 脚本中,算术运算和其他语言比较相对复杂,可以通过两种方式进行算术运算。
可以通过 expr 命令进行算术运算并返回结果,命令格式如下。
expr 5 + 5
expr 5 – 5
expr 5 / 5
expr 5 \* 5
控制台显示:
10
0
1
25
可以通过反引号将结果保存到变量中,在脚本中就可以引用变量了,如下所示:
例:使用返引号或$()方式
var1=`expr 5 + 5`
var2=`expr 5 - 5`
var3=`expr 5 / 5`
var4=`expr 5 \* 5`
echo "$var1"
echo $var2
echo ${var3}
echo $var4
v=$(expr 20 + 2)
v=$(expr 20 - 2)
v=$(expr 20 / 2)
v=$(expr 20 \* 2)
echo $var1
echo $var2
echo $var3
echo $var4
expr 命令支持的运算符说明:
操作符 说明
OP1 + OP2 返回算术运算和
OP1 - OP2 返回算术运算差
OP1 \* OP2 返回算术运算乘积
OP1 / OP2 返回算术运算商
OP1 % OP2 返回算术运算余数
OP1 > OP2 如果 OP1 大于 OP2,返回 1,否则返回 0
OP1 >= OP2 如果 OP1 大于等于 OP2,返回 1,否则返回 0
OP1 < OP2 如果 OP1 小于 OP2,返回 1,否则返回 0
OP1 <= OP2 如果 OP1 小于等于 OP2,返回 1,否则返回 0
OP1 != OP2 如果 OP1 不等于 OP2,返回 1,否则返回 0
OP1 = OP2 如果 OP1 等于 OP2,返回 1,否则返回 0
substr string pos length 返回 string 的从 pos 开始 length 长度的字符串
index string chars 返回 chars 在 string 中的开始位置,没有返回 0
length string 返回字符串的长度
注意:大于号和小于号需要转义,如下所示:
expr 5 \> 5
expr 5 \>= 5
expr 5 \< 5
expr 5 \<= 5
expr 5 != 5
expr 5 = 5
几个常用的字符串操作,如下所示:
expr substr abcdefg 2 3 # bcd
expr index abcdefg cd # 3
expr length abcdefg # 7
控制台输出:
bcd
3
7
另一种方式是采用方括号进行算术运算,如$[算术表达式],通常的方式将结果值赋给一 个变量,使用方式如下。
使用方括号进行算术运算: 例子:
#!/bin/bash
var1=$[ 5 + 5 ]
var2=$[ 5 - 5 ]
var3=$[ 5 * 5 ]
var4=$[ 5 / 5 ]
var5=$[ 5 % 5 ]
var6=$[ 5 + ( 5 * 5 )]
echo "var1: $var1"
echo "var2: $var2"
echo "var3: $var3"
echo "var4: $var4"
echo "var5: $var5"
echo "var6: $var6"
控制台输出:
var1: 10
var2: 0
var3: 25
var4: 1
var5: 0
var6: 30
注意:Bash Shell 只支持整数运算,不支持小数运算。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。