您的位置:首页 > 运维架构 > Shell

shell编程-运算符

2016-01-18 10:25 666 查看
默认情况下shell的变量类型都是字符型

1.使用declare声明变量类型

declare [+/-][选项] 变量名

-:给变量设定类型属性

+:取消变量类型属性

-a:声明为数组

-i:声明为整型

-x:声明为环境变量

-r:声明为只读

-p:显示变量被声明的类型

使用declare声明类型

[root@hadoop200 ~]# aa=11
[root@hadoop200 ~]# bb=22
[root@hadoop200 ~]# cc=$aa+$bb
[root@hadoop200 ~]# echo $cc
11+22
[root@hadoop200 ~]# declare -i dd=$aa+$bb
[root@hadoop200 ~]# echo $dd
33


 

使用declare查看声明类型

[root@hadoop200 ~]# declare -p cc
declare -- cc="11+22"
[root@hadoop200 ~]# declare -p dd
declare -i dd="33"
[root@hadoop200 ~]#


使用declare声明数组(可以使用[]直接声明数组,不使用declare -a)

[root@hadoop200 ~]# a[0]=gao
[root@hadoop200 ~]# a[1]=lei
[root@hadoop200 ~]# declare -a a[2]=jack
[root@hadoop200 ~]# echo $a
gao
[root@hadoop200 ~]# echo ${a}
gao
[root@hadoop200 ~]# echo ${a[*]}
gao lei jack
[root@hadoop200 ~]# echo ${a[1]}
lei
[root@hadoop200 ~]#


使用declare声明环境变量(和export的作用类似,实际上export是declare -x的简写)

[root@hadoop200 ~]#declare -p
...


2.使用expr或let数值运算工具

[root@hadoop200 ~]# aa=12
[root@hadoop200 ~]# bb=13
[root@hadoop200 ~]# cc=$(expr $aa + $bb)
[root@hadoop200 ~]# echo $cc
25


3.$((运算式)) 或 $[运算式]

[root@hadoop200 ~]# aa=20
[root@hadoop200 ~]# bb=30
[root@hadoop200 ~]# cc=$(($aa+$bb))
[root@hadoop200 ~]# echo $cc
50
[root@hadoop200 ~]# dd=$[$aa+$bb]
[root@hadoop200 ~]# echo $dd
50
[root@hadoop200 ~]#


 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: