Shell运算

Posted 钟桂耀

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell运算相关的知识,希望对你有一定的参考价值。

 

整数值运算

 

 

使用expr命令:只能做整数运算,默认返回计算结果

 

 

格式:

 

expr 整数1 运算符 整数2 ...

 

整数值可以有变量提供,直接给出运算结果

 

 

+      加法   expr 43 + 21 、expr $X + $Y
-      减法  expr 43 - 21 、expr $X - $Y
\*      乘法  expr 43 \* 21 、expr $X \* $Y
/       除法  expr 43 / 21 、expr $X / $Y
%       取余数 expr 43 % 21 、expr $X % $Y 

 

 

例子:

#!/bin/bash
#计算用户从终端输入的任意2个数的和
read -p "请输入第一个数" num1
read -p "请输入第二个数" num2
sum=`expr $num1 +  $num2`
echo "$num1 + $num2 = $sum"

 

 

 

使用$[]$(())表达式

 

 

 

需借助echo输出结果,运算类型与expr类似
乘法*不用加转义符使用变量时,直接指定变量名,不用加$符号

 

 

shell中如何进行算术运算:

let 算术运算表达式           let C=$A+$B
$[算术运算表达式]            C=$[$A+$B]
$((算术运算表达式))           C=$(($A+$B))
expr 算术运算表达式,
表达式中各操作数及运算符之间要有空格,
而且要使用命令引用 C
=`expr $A + $B`

 

表达式的简化

 

变量的递增、递减等操作

 

 

 

简写表达式    完整表达式
i++        i=i+1
i--       i=i-1
i*=2      i=i*2
i+=2      i=i+2
i-=2      i=i-2
i%=2     i=i%2

 

 

注意:

i++:先参与其他操作,后运算
++i:先运算,再参与其他操作

 

 

例子:

 

i=1
echo $((++i))
j=1
echo $((j++))

 

 

 

 

 

变量的自增/减等操作

 

 

使用let命令

 

操作变量值,只运算,不输出结果
若要查看结果,需借助echo命令
let:只做运算不返回计算结果,适用于自加和自减运算

 

#!/bin/bash
i=10 
let i-=2
echo $i
let i-=2
echo $i
echo -------------------
i=10 
let i+=2
echo $i
let i+=2
echo $i

 

以上是关于Shell运算的主要内容,如果未能解决你的问题,请参考以下文章

10个JavaScript代码片段,使你更加容易前端开发。

10个JavaScript代码片段,使你更加容易前端开发。

Shell之数值运算

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

shell 脚本 片段

vue2.0 代码功能片段