如何在Bash中增加和減少變量(計數器)
編寫Bash腳本時,最常見的算術運算之一是遞增和遞減變量。 這通常在循環中用作計數器,但是它也可以在腳本的其他位置發生。
增減意味着增加或減少一個值(通常 1
),分別來自數字變量的值。 可以使用雙括號進行算術擴展 ((...))
和 $((...))
或與 let
內置命令。
在Bash中,有多種增加或減少變量的方法。 本文介紹了其中一些。
使用 +
和 -
運算符
增加/減少變量的最簡單方法是使用 +
和 -
操作員。
i=$((i+1))
((i=i+1))
let "i=i+1"
i=$((i-1))
((i=i-1))
let "i=i-1"
此方法允許您將變量增加/減少所需的任何值。
這是在變量中增加變量的示例 until
循環:
i=0
until [ $i -gt 3 ]
do
echo i: $i
((i=i+1))
done
i: 0
i: 1
i: 2
i: 3
的 +=
和 -=
運算符
除了上面介紹的基本運算符外,bash還提供賦值運算符 +=
和 -=
。 這些運算符用於以運算符後面指定的值遞增/遞減左操作數的值。
((i+=1))
let "i+=1"
((i-=1))
let "i-=1"
在下面的 while
循環,我們遞減的值 i
可變的 5
。
i=20
while [ $i -ge 5 ]
do
echo Number: $i
let "i-=5"
done
Number: 20
Number: 15
Number: 10
Number: 5
使用 ++
和 --
運算符
的 ++
和 --
運算符分別按其操作數遞增和遞減 1
並返回值。
((i++))
((++i))
let "i++"
let "++i"
((i--))
((--i))
let "i--"
let "--i"
運算符可以在操作數之前或之後使用。 它們也被稱為:
- 前綴增量:
++i
- 前綴遞減:
--i
- 後綴增量:
i++
- 後綴遞減:
i--
前綴運算符首先增加/減少運算符 1
然後返回運算符的新值。 另一方面,後綴運算符在遞增或遞減之前返回其值。
如果只想增加/減少變量,則使用前綴或後綴運算符沒有區別。 僅當將運算符的結果用於某些其他運算或分配給另一個變量時,它才起作用。
以下示例說明了 ++
運算符在其操作之前和之後使用時起作用:
x=5
y=$((x++))
echo x: $x
echo y: $y
x: 6
y: 5
x=5
y=$((++x))
echo x: $x
echo y: $y
x: 6
y: 6
以下是在bash腳本中如何使用後綴遞增器的示例:
#!/bin/bash
i=0
while true; do
if [[ "$i" -gt 3 ]]; then
exit 1
fi
echo i: $i
((i++))
done
使用這些運算符的缺點是只能將變量遞增或遞減 1
。
結論#
Bash中的變量增減可以用許多不同的方式執行。 無論使用哪種方法,結果都是相同的。
如果您有任何疑問或反饋,請隨時發表評論。
bash循環終端