如何在 Bash 中进行递增/递减操作

Suraj Joshi 2023年1月30日
  1. 使用+- 运算符进行增减操作
  2. +=-= 操作符进行递增和递减操作
  3. ++-- 运算符进行增减运算
如何在 Bash 中进行递增/递减操作

递增和递减运算是每种编程语言中使用最广泛的运算之一。它们主要用作循环中的计数器。为了在 Bash 中执行变量递增和递减,我们可以使用+- 运算符或+=-= 运算符。我们还可以使用一元运算符 ++-- 在 Bash 中执行递增和递减操作。

使用+- 运算符进行增减操作

它是执行增量和减量操作的最简单方法。我们通过在 ((..))$(((..))) 内封闭表达式或使用内置的 let 命令来进行操作。

x=3
y=3
z=3
x=$((x+1))
((y=y+1))
let "z=z+1"
echo x: $x
echo y: $y
echo z: $z

输出:

x: 4
y: 4
z: 4

我们可以看到,我们可以使用 + 以三种不同的方式执行相同的增量操作。

我们也可以同样地执行递减操作。

x=3
y=3
z=3
x=$((x-1))
((y=y-1))
let "z=z-1"
echo x: $x
echo y: $y
echo z: $z

输出:

x: 2
y: 2
z: 2

它使用 - 操作符以三种不同的方式执行递减操作。

+=-= 操作符进行递增和递减操作

运算符 +=-= 用运算符右边的值增加或减少运算符左边的值。

x+=y 相当于 x=x+yx-=y 相当于 x=x-y

x=3
y=3
((x+=1))
let "y-=1"
echo x: $x
echo y: $y

输出:

x: 4
y: 2

这里,一开始,xy 的值都是 3。在对 x 进行增量运算后,其值变成 4。同样,在对 y 进行递减操作后,y 的值变成 2

我们也可以在一个循环中实现增量或减量。

x=1

while [ $x -le 5 ]
do
  echo x: $x
  let "x+=1" 
done

输出:

x: 1
x: 2
x: 3
x: 4
x: 5

只要 x 的值小于或等于 5,它就会递增 x 的值。

++-- 运算符进行增减运算

运算符++-- 是一元运算符,将值操作数增加或减少 1。

x++ 相当于 x=x+1x-- 相当于 x=x-1

x=3
y=3
((x++))
let "y--"
echo x: $x
echo y: $y

输出:

x: 4
y: 2

这里,一开始,xy 的值都是 3。在对 x 进行增量运算后,它的值变成 4。同理,对 y 进行递减操作后,y 的值变成 2

我们也可以在循环中实现++-- 运算符。

x=5

while [ $x -ge 1 ]
do
  echo x: $x
  let "x--" 
done

输出:

x: 5
x: 4
x: 3
x: 2
x: 1

只要 x 的值大于或等于 1,它就会对 x 的值进行递减。

作者: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn