跳转至

shell算术运算符.

概述

在 shell 编程中,算术运算符用于对数字进行运算。算术运算符的运算顺序与数学运算的顺序相同。

算术运算符

shell 支持以下算术运算符:

运算符 描述
+
-
*
/
% 取余
**

算术运算扩展

算术运算扩展是 shell 提供的一种简便的算术运算方法。算术运算扩展的语法为:

Text Only
$(( 表达式 ))

表达式可以是任何算术表达式,包括变量、数字、运算符等。

例如,以下脚本使用算术运算扩展计算 5 + 2 的结果:

Text Only
#!/bin/bash

echo $((5 + 2))

运行该脚本,将输出以下结果:

Text Only
7

算术运算指令 expr

expr 是 shell 提供的另一种算术运算指令。expr 的语法为:

Text Only
expr 表达式

表达式可以是任何算术表达式,包括变量、数字、运算符等。

例如,以下脚本使用 expr 计算 5 + 2 的结果:

Text Only
#!/bin/bash

expr 5 + 2

运行该脚本,将输出以下结果:

Text Only
7

算术运算指令 let

let 是 shell 提供的另一种算术运算指令。let 的语法为:

Text Only
let 表达式

表达式可以是任何算术表达式,包括变量、数字、运算符等。

例如,以下脚本使用 let 计算 5 + 2 的结果:

Text Only
#!/bin/bash

let a=5
let b=2
let c=a+b
echo $c

运行该脚本,将输出以下结果:

Text Only
7

自增自减运算符

self 增自减运算符用于对变量进行自增或自减操作。

运算符 描述
var++ 变量 var 自增 1
var-- 变量 var 自减 1

例如,以下脚本使用自增运算符将变量 x 的值增加 1:

Text Only
#!/bin/bash

x=5
x++
echo $x

运行该脚本,将输出以下结果:

Text Only
6

实验示例

以下是一些使用 shell 算术运算符的实验示例:

实验 1:计算 5 + 2 的结果

Text Only
#!/bin/bash

# 使用算术运算扩展
echo $((5 + 2))

# 使用 expr
expr 5 + 2

# 使用 let
let a=5
let b=2
let c=a+b
echo $c

实验 2:计算 10 的平方根

Text Only
#!/bin/bash

# 使用算术运算扩展
echo $((sqrt(10)))

# 使用 expr
expr sqrt(10)

# 使用 let
let a=10
let b=sqrt(a)
echo $b

实验 3:计算 100 的阶乘

Text Only
#!/bin/bash

# 使用算术运算扩展
echo $((factorial(100)))

# 使用 expr
expr factorial(100)

# 使用 let
let a=100
let b=factorial(a)
echo $b

扩展知识

  • 算术运算符的运算顺序与数学运算

  • 算术运算符的运算顺序

算术运算符的运算顺序与数学运算的顺序相同,即:

  1. 算术表达式中的括号内运算优先。
  2. 乘、除、取余运算优先于加、减运算。
  3. 幂运算优先于所有其他运算。

例如,表达式 5 + 2 * 3 的计算顺序为:

  1. 先计算 2 * 3 的值,得到 6。
  2. 再计算 5 + 6 的值,得到 11。

因此,表达式 5 + 2 * 3 的值为 11。

  • 算术运算扩展的注意事项

算术运算扩展的注意事项如下:

  • 算术运算扩展的运算数只能是整数。
  • 算术运算扩展不能用于字符串。
  • 算术运算扩展不能用于文件名。
  • expr 指令的注意事项

expr 指令的注意事项如下:

  • expr 指令可以用于计算任何类型的运算表达式,包括整数、浮点数、字符串等。
  • expr 指令的结果是字符串。
  • let 指令的注意事项

let 指令的注意事项如下:

  • let 指令可以用于计算任何类型的运算表达式,包括整数、浮点数、字符串等。
  • let 指令的结果是变量的值。

总结

shell 的算术运算符提供了多种方式来对数字进行运算。在实际使用中,可以根据需要选择合适的算术运算方法。