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变量递增或递减操作
链接地址:http://www.mswzjz.cn/qtweb/news34/65734.html

攀枝花网站建设、攀枝花网站运维推广公司-贝锐智能,是专注品牌与效果的网络营销公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 贝锐智能