shell运算符详解
Declare命令
declare 声明变量类型
declare[+/-][选项] 变量名
选项:
-给变量设定类型属性;
+取消变量的类型属性
-a将变量声明为数组型
-i将变量声明为整数型(integer)
-x将变量声明为环境变量
-r将变量声明为只读型
-p显示指定变量的被声明的类型
把变量声明为数值型:
命令如下:aa=1
Bb=22
Declare –i cc=$aa+$bb #声明变量cc的类型是整数形,它的值是aa和bb的和;
把变量声明为数组型
命令如下:movie[0]=zp
movie[1]=tp
declare –a movie[2]=live #声明movie为数组型
查看数组命令:
Echo ${movie} #查看下标为0的数组值
Echo ${movie[1]}#查看下标为1的数组值
Echo ${movie[*]} #查看数组中所有的元素
把变量声明为数组型
命令如下:declare –x test=123 #和export作用相似,但其实是declare命令的作用;
把变量声明为只读属性
命令如下:declare –r test #给test赋予只读属性,但是请注意只读属性会让变量不能修改不能删除,甚至不能取消只读属性;
查询变量的属性
命令如下:declare –p #查看所有变量的属性
declare –p 变量名 #查询指定变量的属性
数值运算的方法
数值运算方法1
命令如下:aa=1
bb=2
declare–i cc=$aa+$bb
使用expr或let数值运算工具
命令如下:
aa=11
bb=22
dd=$(expr $aa + $bb) #注意“+”号左右两侧必须有空格
$((运算式)) 或者 $[运算式]
命令如下:
aa=11
bb=22
ff=$(($aa+$bb))
gg=$[$aa+ $bb1]
优先级越大越先使用
Eg:aa=$(( (11+3)*3/2))
bb=$((14%3))
cc=$((1&&0)) #逻辑与运算只有两边都是1的时候才为1,否则结果为0;