declare
## 1、功能介绍
声明变量的属性,如果使用declare,后面没有任何参数,那么bash就会主动将所有变量名与内容都调出来,just as set.
### 1.1 规范数据类型:
**语 法:** declare \[-aixr\] variable
**参数说明:**
\-a :将后面的variable定义为数组
\-i :将后面的variavle定义为整数数字
\-x :用法与export一样,就是将后面的variable变成环境变量
\-r :将一个variable的亦是设置成只读,读变量不可更改内容,也不能unset
## 2.例子
### 2.1 将变量sum对200+400求和
```
[root@linux ~]#sum=200+400
[root@linux ~]#echo $sum
200+400
```
此处并没有像我们想像中那样会得到结果600,而是200+400,这是由于它是文字类型的变量属性
```
[root@linux ~]#declare -i sum=200+400
[root@linux ~]#echo $sum
600
```
### 2.2 将sum变成环境变量
\[root@linux ~\]#declare -x sum
### 2.3 让sum变成只读属性,不可更改
```
[root@linux ~]#declare -r sum
[root@linux ~]#sum=apple
-bash: sum: readonly variable
[root@linux ~]#unset sum
-bash: unset: sum: cannot unset: readonly variable
```
在这里要特别说明一下:声明为只读变量之后,不能修改该变量的属性,也不能删除该变量,所以,在声明变量的时候,应该慎用,避免有去无回。另外,你在命令行中敲readonly,你会发现有很多只读变量,当然这些变量也是不能够被修改或删除的。
- Linux
- 高级
- 杀毒
- 记一次中毒事件
- clamav查毒软件
- 处理挖矿病毒
- 定时任务
- kill
- chattr文件保护
- 运行级别
- Linux启动
- 文件加密
- ssh免密登录
- .ssh
- 问题
- 脚本
- 阿里云域名解析
- yum源
- 时间同步
- keepalived实现高可用
- dos字符与unix字符
- 大文件上传
- 基础
- proc目录
- 设置宋体
- 基础命令_01
- 基础命令_02
- SELinux
- 文件描述符
- 基础命令_03
- awk
- 系统日志
- date命令
- bc命令
- lsof
- vim快捷键
- shell
- 循环控制
- expr
- 执行脚本的方式
- declare
- shell脚本
- 控制启停脚本
- 数值计算
- centos
- 配置网络
- 环境
- 灰度环境
- ansible
- 模块
- 语法
- file模块
- setup模块
- ping模块
- copy模块
- command模块
- shell模块
- service模块
- cron模块
- yum模块
- user 模块
- group模块
- 指定用户
- playbook
- 实例
- ansible安装
- Jenkins
- shell部署
- 导入已有项目的配置
- 执行shell
- tungsten数据同步
- 防火墙
- netfilter