新聞中心
編寫 Bash 腳本時最常見的算術(shù)運算之一是遞增和遞減變量。這通常在循環(huán)中用作計數(shù)器,但它也可以在腳本的其他地方出現(xiàn)。

創(chuàng)新互聯(lián)建站專業(yè)為企業(yè)提供輪臺網(wǎng)站建設(shè)、輪臺做網(wǎng)站、輪臺網(wǎng)站設(shè)計、輪臺網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計與制作、輪臺企業(yè)網(wǎng)站模板建站服務(wù),十年輪臺做網(wǎng)站經(jīng)驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡(luò)服務(wù)。
遞增和遞減意味著分別從數(shù)值變量的值中添加或減去值(通常為 1 )??梢允褂秒p括號 ((…)) 和 $((…)) 或使用內(nèi)置的 let 命令執(zhí)行算術(shù)擴展。
在 Bash 中,有多種方法可以加/減變量。本文解釋了其中的一些內(nèi)容。
使用 + 和 – 操作員
加/減變量的最簡單方法是使用 + 和 – 運算符。
i=$((i+1))
((i=i+1))
let "i=i+1"
i=$((i-1))
((i=i-1))
let "i=i-1"
此方法允許您將變量遞增/遞減所需的任何值。
以下是在 until 循環(huán)中遞增變量的示例:
i=0
until [ $i -gt 3 ]
do
echo i: $i
((i=i+1))
done
i: 0
i: 1
i: 2
i: 3
使用 += 與 -= 運算符
除了上面解釋的基本運算符之外, bash 還提供賦值運算符 += 和 -= 。這些運算符用于使用運算符后指定的值遞增/遞減左操作數(shù)的值。
((i+=1))
let "i+=1"
((i-=1))
let "i-=1"
在接下來的 while 循環(huán)中,我們將 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"
可以在操作數(shù)之前或之后使用運算符。它們也被稱為: ?前綴增量: ++i ?前綴減量: –i ?后綴增量: i++ ?后綴減量: i–
前綴運算符首先讓變量加/減 1 ,然后返回變量的新值。后綴運算符在變量加/減之前返回運算符的值。
如果您只想增加/減少變量,那么如果您使用前綴或后綴運算符則沒有區(qū)別。只有在某些其他操作中使用運算符的結(jié)果或?qū)⑵浞峙浣o另一個變量時,它才會有所不同。
以下示例演示了 ++ 操作符在其操作符之前和之后使用時的工作方式:
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 。
結(jié)論
Bash 中的變量的遞增和遞減可以以許多不同的方式執(zhí)行。無論使用何種方法,結(jié)果都是一樣的。
網(wǎng)站名稱:Bash變量遞增或遞減操作
當前網(wǎng)址:http://m.fisionsoft.com.cn/article/dhsoihe.html


咨詢
建站咨詢
