如何在 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