功能介绍:声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set.
语 法:declare [-aixr] variable
参数说明:
-a :将后面的variable定义为数组
-i :将后面的variavle定义为整数数字
-x :用法与export一样,就是将后面的variable变成环境变量
-r :将一个variable的亦是设置成只读,读变量不可更改内容,也不能unset
+/- "-"可用来指定变量的属性,"+"则是取消变量所设的属性。
eg:
1、将变量sum对200+400求和
[[email protected] ~]#sum=200+400
[[email protected] ~]#echo $sum
200+400--------此处并没有像我们想像中那样会得到结果600,而是200+400,这是由于它是文字类型的变量属性
[[email protected] ~]#declare -i sum=200+400
[[email protected] ~]#echo $sum
600------------明白了吧
2、将sum变成环境变量
[[email protected] ~]#declare -x sum
3、让sum变成只读属性,不可更改
[[email protected] ~]#declare -r sum
[[email protected] ~]#sum=apple
-bash: sum: readonly variable
[[email protected] ~]#unset sum
-bash: unset: sum: cannot unset: readonly variable
在这里要特别说明一下:声明为只读变量之后,不能修改该变量的属性,也不能删除该变量,所以,在声明变量的时候,应该慎用,避免有去无回。另外,你在命令行中敲readonly,你会发现有很多只读变量,当然这些变量也是不能够被修改或删除的。