如何在 Bash 中进行递增/递减操作
Suraj Joshi
2023年1月30日
递增和递减运算是每种编程语言中使用最广泛的运算之一。它们主要用作循环中的计数器。为了在 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+y
,x-=y
相当于 x=x-y
。
x=3
y=3
((x+=1))
let "y-=1"
echo x: $x
echo y: $y
输出:
x: 4
y: 2
这里,一开始,x
和 y
的值都是 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+1
,x--
相当于 x=x-1
。
x=3
y=3
((x++))
let "y--"
echo x: $x
echo y: $y
输出:
x: 4
y: 2
这里,一开始,x
和 y
的值都是 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 is a backend software engineer at Matrice.ai.
LinkedIn