美文网首页
Bash基础学习(三)-算术运算

Bash基础学习(三)-算术运算

作者: summer_code | 来源:发表于2022-07-06 09:39 被阅读0次

算法表达式

1.算数表达式
a. ((...)) 括号中写算式

((...)) 括号中写算式
+:加法
-:减法
*:乘法
/:除法(整除)
%:余数
**:指数
++:自增运算(前缀或后缀)
--:自减运算(前缀或后缀)
如果要读取算术运算的结果,需要在((...))前面加上美元符号$((...)),使其变成算术表达式,返回算术运算的值。
echo $((2+2)) #中间有无空格都可以
i=1
echo $((++i)) #先运算再返回值
j=1
echo $((j++)) #先返回值再运算执行echo

执行结果

2
1

嵌套使用

echo $(((5*2)*3)

((...))内部可以用圆括号改变运算顺序。

echo $(((3+2)*3))

2.数值的进制
Bash 的数值默认都是十进制,但是在算术表达式中,也可以使用其他进制。

  • number:没有任何特殊表示法的数字是十进制数(以10为底)。
  • 0number:八进制数。
  • 0xnumber:十六进制数。
  • base#number:base进制的数。

3.位运算

$((...))支持以下的二进制位运算符。

<<:位左移运算,把一个数字的所有位向左移动指定的位。
>>:位右移运算,把一个数字的所有位向右移动指定的位。
&:位的“与”运算,对两个数字的所有位执行一个AND操作。
|:位的“或”运算,对两个数字的所有位执行一个OR操作。
~:位的“否”运算,对一个数字的所有位取反。
^:位的异或运算(exclusive or),对两个数字的所有位执行一个异或操作。
echo $((16>>2))
echo $((16<<2))
打印结果:
4
64

4.逻辑运算
$((...))支持以下的逻辑运算符。

<:小于
>:大于
<=:小于或相等
>=:大于或相等
==:相等
!=:不相等
&&:逻辑与
||:逻辑或
!:逻辑否
expr1?expr2:expr3:三元条件运算符。若表达式expr1的计算结果为非零值(算术真),则执行表达式expr2,否则执行表达式expr3。
如果逻辑表达式为真,返回1,否则返回0。
echo $((3>1 ? 1:0))
打印结果:
1

5.赋值运算
算术表达式$((...))可以执行赋值运算。

echo $((a=1))
a=1对变量a进行赋值。这个式子本身也是一个表达式,返回值就是等号右边的值。
注:赋值运算时=前后不能有空格

6.求值运算
逗号,在$((...))内部是求值运算符,执行前后两个表达式,并返回后一个表达式的值。

echo $((a=1+2,3+4))
打印结果:
7
echo $a
打印结果:
3

上面例子中,逗号前后两个表达式都会执行,然后返回后一个表达式的值7。
7.expr 命令
expr命令支持算术运算,可以不使用((...))语法。

expr 3+2
打印结果:
3+2
expr 3 + 2
打印结果:
5
结论:使用expr 做算术运算时,算术中间要带空格

expr 命令支持变量替换

tmpNum=3
expr $tmpNum + 2
打印结果:
5

expr命令也不支持非整数参数。

expr 3.5 + 2
打印结果:
expr: not a decimal number: '3.5'
注:expr 命令也不支持非整数参数。

8.let命令
let命令用于将算术运算的结果,赋予一个变量。

let x=2+3
echo $x
5

相关文章

  • Bash基础学习(三)-算术运算

    算法表达式 1.算数表达式a. ((...)) 括号中写算式 执行结果 嵌套使用 ((...))内部可以用圆括号改...

  • bash 算术运算

    bash 算术运算 基本算术运算符 加, -减, *乘, /除, **取模 bash中的let支持的算术运算符 使...

  • bash中的运算

    算术运算 bash中的算术运算:help let  +,-,*,/,%取模(取余),**(乘方) 实现算术运算:l...

  • bash的算术运算

    bash的算术运算 bash共支持三种算术运算方式 let 表达式 expr 表达式 双括号表达式 let表达式:...

  • note_7.3_bash脚本编程算术运算

    bash脚本编程之算术运算 +,-,*,/, **, %算术运算格式: let VAR=EXPRESSION VA...

  • (2)shell脚本编程进阶之运算和循环语句

    (一)算术运算 (1)bash 中的算术运算: help let +, -, *, /, % 取模(取余), **...

  • Bash编程005——运算符

    Bash编程005——运算符 本节学习Bash中的运算符。 赋值运算符 =,通用赋值运算符,适用于算术和字符串赋值...

  • 运算符相关话题

    运算符 赋值运算符 = 算术运算符 ** 幂运算 += 注意:注意,Bash并不支持浮点运算,Bash会将带小数点...

  • Bash脚本编程之算术表达式

    算术符号 Bash shell 脚本编程中的算术表达式所常用的算术运算符号包括:+,-,* ,/,%,**。其使用...

  • R语言(1) 入门

    学习地址R for DataScience 1.基础运算 算术运算 比较运算 逻辑运算 变量 2. 序列和向量 序...

网友评论

      本文标题:Bash基础学习(三)-算术运算

      本文链接:https://www.haomeiwen.com/subject/xpoebrtx.html