Bash编程005——运算符
本节学习Bash中的运算符。
赋值运算符
=,通用赋值运算符,适用于算术和字符串赋值。
示例:
var=2
echo $var
var="hello world"
echo $var
算术运算符
+,加法运算符
-,减法运算符
*,乘法运算符
/,乘法运算符
%,取余运算符
**,乘方运算符(自bash2.02引入)
+=,加等于运算符
-=,减等于运算符
*=,乘等于运算符
/*,除等于运算符
%=,余等于运算符
注:bash中不能直接进行算术表达式的计算,算术运算符通常出现在expr(来自于coreutils,外部程序)或let(bash的内置命令)表达式中。对于整数运算还可以使用[]。expr和let也只能计算整数运算,如果要进行浮点数运算使用bc。
示例:
var=2+1
echo $var
#结果:2+1
#使用let计算
let "var = 1 + 2 * 3 - 5 % 2"
echo $var
#结果:6
expr 1 + 1
#结果:2
echo $((3*2-1+4))
#结果:9
echo $[12+32/4]
#结果:20
位运算符
<<、<<=,左移运算符,
>>,>>=,右移运算符
&,&=,按位与运算符
|,|=,按位或运算符
~,~=,按位非运算符
,=,按位异或运算符
自增自减运算符
var++,后置自增,先使用var的值,再将其加一
++var,前置自增,先将var加一,再使用var的值
var--,后置自减,先使用var的值,再将其减一
--var,前置自减,先将var减一,再使用var的值
逗号运算符
逗号运算符将两个或多个算术运算链接在一起。
示例
v1=1
v2=2
let v1++,v2++
echo $v1 $v2
#结果为:2 3
数字进制
bash中数字默认是十进制得,但是也可以使用八进制或十六进制
八进制以0开头,十六进制以0x或0X开头
示例:
let var=0x10086
echo $var
#结果:65670
let var=0100
echo $var
#结果:64
网友评论