SHELL学习――运算符

运算符
算术运算符 (无法对字符串、文件的浮点型数进行计算)
运算符
举例
结果
+ (加运算)
3+5
8
- (减运算)
5-3
2
* (乘运算)
5*3
15
/ (除运算)
8/3
2
% (取余运算)
15%4
3
** (幂运算)
5**3
125
举例说明:
[root@localhost tmp]# let "z=8/5*5"
[root@localhost tmp]# echo "z=$z"
z=5
[root@localhost tmp]# let "z=8*5/5"
[root@localhost tmp]# echo "z=$z"
z=8
[root@localhost tmp]# let "v=5/0"
-bash: let: v=5/0: division by 0 (error token is "0")
[root@localhost tmp]# let "v=5%0"
-bash: let: v=5%0: division by 0 (error token is "0")
算术复合赋值运算符
运算符
举例
等价表达式
+=
v+=5
v=v+5
-=
v-=10
v=v-5
*=
v*=5
v=v*5
/=
v/=3
v=v/3
%=
v%=5
v=v%5
举例说明
[root@localhost tmp]# value=5
[root@localhost tmp]# let value "value+=6"
[root@localhost tmp]# echo "value=$value"
value=11
[root@localhost tmp]# let "value/=5"
[root@localhost tmp]# echo "value=$value"
value=2
[root@localhost tmp]#
 
位运算符 ( 由于位运算符在 shell 编程中很少使用,不参与讨论 )
 
自增自减运算符
Linux Shell 中提供的自增自减运算符,其作用是自动将变量加 1 或减 1. 自增自减操作符主要包括前置自增( ++variable )、前置自减( --variable )、后置自增( variable++ )、后置自减( variable-- )。前置操作首先改变变量的值( ++ 用于给变量加 1 -- 用于给变量减 1 ),然后将改变的变量值交给表达式使用;后置变量则是在表达式使用后再改变变量的值。
自增自减操作符的操作只能是变量,不能是常数或表达式,且该变量值必须为整数型。
#!/bin/bash
num1=5
let "a=5+(++num1) "
echo "a=$a"
num2=5
let "b=5+(num2++) "
echo "b=$b"
[root@localhost tmp]# ./increment_and_decrement_exam1.sh
a=11
b=10
 
数字常量
Linux Shell 脚本或命令是默认将数字十进制的方式进行处理,如果要使用其它进制的方式进行处理,则需对这个数字进行特定的标记或者加前缀。
当使用 0 作为前缀时,表示 8 进制
当使用 0x 进行标记时,表示十六进制
还可用 num# 这这种形式标记
[root@localhost tmp]# let "num1=40"
[root@localhost tmp]# echo "num1=$num1"
num1=40
[root@localhost tmp]# let "num2=040"           # 或用 8#40
[root@localhost tmp]# echo "num2=$num2"
num2=32
[root@localhost tmp]# let "num3=0x40"          # 或用 16#40
[root@localhost tmp]# echo "num3=$num3"
num3=64
[root@localhost tmp]# let "num1=2#1101100110001101"
[root@localhost tmp]# echo "num1=$num1"
num1=55693
[root@localhost tmp]# let "num=2#23"
-bash: let: num=2#23: value too great for base (error token is "2#23")

你可能感兴趣的:(运算符)