Linux 中的 let 命令示例
let命令用于计算 shell 变量上的算术表达式。
句法:
let [expression]
选项:
- 基本算术运算运算符:加法 (+)、减法 (-)、乘法 (*)、除法 (/) 和模数 (%)运算符可用于let命令的表达式中。
例子:
let "myvar =2" "myvar1=1" "myvar2=myvar1+myvar"; echo $myvar2 let "myvar =2" "myvar1=1" "myvar2=myvar1-myvar"; echo $myvar2 let "myvar =2" "myvar1=1" "myvar2=myvar1*myvar"; echo $myvar2 let "myvar =2" "myvar1=1" "myvar2=myvar1/myvar"; echo $myvar2 let "myvar =2" "myvar1=1" "myvar2=myvar1%myvar"; echo $myvar2
- Post-increment(var++) / Post-decrement(var–) 运算符 :此运算符用于解释整数值,然后将整数变量增加/减少 1。
例子:let "myvar=2" "myvar2=myvar++" ; echo $myvar $myvar2
在上面的示例中,myvar2 在增量发生之前获取 myvar2 的值。
- Pre-increment(++var) / Pre-decrement(–var) 运算符 :此运算符将整数值增加/减少 1,然后解释整数变量。
例子:let "myvar=10" "myvar2=--myvar"; echo $myvar $myvar2
在上面的例子中,值的变化首先发生,然后值被存储在 myvar2 中。
- 一元加(+exp)/一元减(-exp):此运算符用于将给定的表达式乘以1或-1。
例子:
在上面的示例中, myvar 的值使用一元减号运算符从正变为负。
- 按位求反(~) :此运算符用于对整数值的每一位求反,即,将 0 变为 1,将 1 变为 0。
例子:let "myvar=0" "myvar= ~myvar"; echo $myvar
在上面的例子中,值 myvar 是二进制的“0000…00”,而否定是“1111…11”,它是 -1 的 2 的补码值。
- 指数(**)运算符:此运算符用于将一个数量增加到另一个数量的幂。
例子:let "myvar= 5 ** 2" ; echo $myvar
- 按位左移/按位右移:此运算符用于向左或向右移动位的顺序。
例子:let "myvar = 5 << 2"; echo $myvar
- 按位与运算符:此运算符在两个位之间进行按位比较,如果两者都为 1,则返回 1,否则返回 0。
例子:let "myvar=5" "myvar2=4" "myvar3 = myvar & myvar2" ; echo $myvar3
- 按位或运算符:此运算符在两个位之间进行按位比较,如果至少一位为 1,则返回 1,否则返回 0。
例子:let "myvar=7" "myvar2=4" "myvar3= myvar | myvar2" ; echo $myvar3
- 按位异或运算符:此运算符在两个位之间进行按位比较,如果相同则返回 0,否则返回 1。
例子:let "myvar=7" "myvar2=4" "myvar3= myvar ^ myvar2" ; echo $myvar3
- Post-increment(var++) / Post-decrement(var–) 运算符 :此运算符用于解释整数值,然后将整数变量增加/减少 1。