shell默认是字符串型


如果需要加减乘除,需要定义为整型


declare命令:改变默认变量的类型


-给变量设定类型属性
+取消变量类型属性


-a声明为数组类型
-i声明为整型
-x 将变量设置为环境变量 相当于export命令 declare -x test=123(export是简化命令。最终执行的是declare -x命令)
-r 讲变量声明为只读变量
-p 显示指定变量的被声明的类型


eg:


[root@centos ~]# declare -i cc=$aa+$bb
[root@centos ~]# echo $cc
33
[root@centos ~]# 


查看变量属性 declare -p cc
eg:
[root@centos ~]# declare -p cc
declare -i cc="33"
[root@centos ~]# 


===========
声明数组变量
[root@centos ~]# movie[0]=zp
[root@centos ~]# movie[1]=tp
[root@centos ~]# movie
-bash: movie: command not found
[root@centos ~]# echo $movie
zp
[root@centos ~]# echo $movie[1]
zp[1]
[root@centos ~]# echo ${movie}
zp
[root@centos ~]# echo ${movie[1]}
tp
[root@centos ~]# echo ${movie[*]}
zp tp
[root@centos ~]# 
 
review:export 将当前变量设置为环境变量 export bb


ps declare -x 列出系统中所有的环境变量


设置属性 
root@centos ~]# declare -p test=123
-bash: declare: test=123: not found
[root@centos ~]# declare -x test=123
[root@centos ~]# declare -p test
declare -x test="123"
[root@centos ~]# declare -r test
[root@centos ~]# declare -p test
declare -rx test="123"
[root@centos ~]# 


注意:如果把一个变量设置为只读 ,那么永远也更改不了他的只读属性。(除非删除配置文件中那些东西)




最重要的:记住如何将环境变量声明为数值型或者整型
declare -i
declare-x将变量声明为环境变量
======================================
数值预算


declare -i cc=$aa+$bb




其他两种 expr let


root@centos ~]# aa=11
[root@centos ~]# bb=22
[root@centos ~]# delcare -i cc=$aa+$bb
-bash: delcare: command not found
[root@centos ~]# declare -i cc=$aa+$bb
[root@centos ~]# echo $cc
33
[root@centos ~]# dd=$(expr $aa + $bb)#注意加号两边必须有空格,如果不加还是按照字符串相连输出
[root@centos ~]# echo dd
dd
[root@centos ~]# echo $dd
33
[root@centos ~]# 




$()的用法:把系统变量赋值给自定义变量


[root@centos ~]# gg =$(date)
-bash: gg: command not found
[root@centos ~]# gg=$(date)
[root@centos ~]# echo $gg
2015年 04月 29日 星期三 09:41:54 CST
[root@centos ~]# 
其他方式 $((运算式)) 双小括号
 $[运算式]


[root@centos ~]# ff=$(($aa+$bb))
[root@centos ~]# echo $ff
33
[root@centos ~]# gg=$[$aa+$bb]
[root@centos ~]# echo $gg
33
[root@centos ~]# 
let方式:
 let oo=$aa+$bb
[root@centos ~]# echo oo
oo
[root@centos ~]# echo $oo
33
[root@centos ~]# 


===the end 2015-4-29






Logo

更多推荐