Categories: Shell编程

Bash 变量自增自减

编写 Bash 脚本时最常见的算术运算之一是递增和递减变量。这通常在循环中用作计数器,但它也可以出现在脚本的其他地方。1递增和递减意味着分别从数值变量的值中添加或减去一个值(通常是)。可以使用双括号((...))$((...))或使用let内置命令执行算术扩展。

在 Bash 中,有多种方法可以增加/减少变量。

使用+-运算符

递增/递减变量的最简单方法是使用+and-运算符。

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 还提供了赋值运算符+=-=. 这些运算符用于使用运算符后指定的值来增加/减少左操作数的值。

在下面的while循环中,我们将i变量的值递减5`.

i=20

while [ $i -ge 5 ]
do
echo Number: $i
let "i-=5" 
done

使用++--运算符

和运算符分别递增和递减其操作数++并返回值。--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=5
y=$((++x))
echo x: $x
echo y: $y

以下是如何在 bash 脚本中使用后缀增量器的示例:

#!/bin/bash
i=0
while true; do
if [[ "$i" -gt 3 ]]; then
exit 1
fi
echo i: $i
((i++))
done

使用这些运算符的缺点是变量只能递增或递减1

使用expr关键字

expr关键字也可以实现变量的加减。

var=`expr $var + 1`

总结

Bash 中变量的递增和递减可以通过多种不同的方式执行。不管你用什么方法,结果都是一样的。

5.0
01
Linux 中检查内存使用情况
Bash Shebang是什么?
嘻嘻

嘻嘻IT: 笔者是一个工作七八年的程序猿老鸟,从事涉及的技术栈主要包括PHP、Linux、Devops等,喜欢研究新技术,尝试新技术,提升技术自动化和开发效率,致力于write less,do more! 技术每年都会层出不穷,领域划分的越来越细,不可能学习所有的东西,保持对技术的好奇心,理解技术中核心思想,做一个有深度,有思想的开发!

Recent Posts

Clockwise一款AI日历工具

Clockwise是一款创新的…

3天 ago

Leonardo一个视觉创意AI生成平台

Leonardo.ai提供了一…

3天 ago

DupDub一款终极AI内容创作助手

DupDub 是一个一站式内容…

3天 ago

Murf AI是一款尖端的AI声音生成器

Murf AI是一款尖端的AI…

3天 ago