declare声明变量类型
格式
declare [+/-] [选项] [变量名]
选项
- -:给变量设定类型属性
- +:取消变量的类型属性
- -a :将变量声明为数组型
- -i :将变量声明为整数型(integer)
- -x :将变量声明为环境变量
- -r :将变量声明为只读变量
- -p :显示指定变量的被声明类型
把变量声明为数值型
- 【root@localhost ~】# aa=11
- 【root@localhost ~】# bb=22
- #给变量aa和bb赋值
- 【root@localhost ~】# declare -i cc=$aa+$bb
- #声明变量cc的类型是整数型,它的值是aa和bb的和
- #之前也讲解了,加法,通过其他方式也可以实现,比如:cc=$(($aa+$bb))
声明数组变量
- 定义数组
- 【root@localhost ~】# user[0]=zs
- 【root@localhost ~】# user[1]=ls
- 【root@localhost ~】# declare -a user[2]=ww
- 查看数组
- 【root@localhost ~】# echo ${user}
- 【root@localhost ~】# echo ${user[1]}
- 【root@localhost ~】# echo ${user[*]}
备注:
- 声明数组有两种方式:变量[下标](只要变量有[下标],shell就知道它是数组)或者declare -a 变量[下标]
- 数组变量引用区别于其他变量,用的是话考好加变量角标:${变量[下标]};${变量}代表取得的数组的第一个参数;${变量[*]}代表数组里面所有参数
声明环境变量
- declare -x 变量名=变量值
- 和export作用相似,但其实export实现的原理就是调用declare来实现的
- export 变量名=变量值
声明变量只读熟悉
- 【root@localhost ~】# declare -r test
- #给test赋予只读属性,但是请注意只读属性会让变量不能修改不能删除,甚至不能取消只读属性,只能通过重启;用的很少,了解即可
查询变量的属性
- declare -p
#查询所有变量的属性
- declare -p 变量
#查询指定变量的属性