如何在Bash中递增和递减变量-计数器

linux

编写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中递增和递减变量-计数器 的全部内容, 来源链接: utcz.com/z/507040.html

回到顶部