部分素材来源于互联网
使用后置引用的算术扩展(通常都是和expr一起使用)
z=`expr $z + 3`
#'expr’命令将会执行这个扩展.
使用双括号形式的算术扩展, 也可以使用let命令
后置引用形式的算术扩展已经被双括号形式所替代了 --((…)) 和 $((…))
– 当然也可以使用非常方便的let结构.
#! /bin/bash
z=$(($z+3))
z=$((z+3))
echo $z
# 也正确.
# 使用双括号的形式,
#+ 参数解引用
#+ 是可选的.
# $((EXPRESSION))是算数表达式.
# 不要与命令替换
#+ 相混淆.
# 使用双括号的形式也可以不用给变量赋值.
n=0
echo "n = $n"
# n = 0
(( n += 1 ))
# 递增.
# (( $n += 1 )) is incorrect!
echo "n = $n"
# n = 1
let z=z+3
let "z += 3" # 使用引用的形式, 允许在变量赋值的时候存在空格.
echo $z
# 'let'命令事实上执行得的是算术赋值,
#+ 而不是算术扩展
执行之后输出:
andrew@andrew-Thurley:~/work/shell$ ./shell.sh
6
n = 0
n = 1
12
Bash算术运算详解


被折叠的 条评论
为什么被折叠?



