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