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
+=
和-=
+=
和-=
. 这些运算符用于使用运算符后指定的值来增加/减少左操作数的值。在下面的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关键字也可以实现变量的加减。
var=`expr $var + 1`
Bash 中变量的递增和递减可以通过多种不同的方式执行。不管你用什么方法,结果都是一样的。