declare 命令
declare 命令用于声明 shell 变量。
declare 为shell指令,在第一种语法中可用来声明变量并设置变量的属性([rix]即为变量的属性),在第二种语法中可用来显示 shell函数。若不加上任何参数,则会显示全部的 shell 变量与函数(与执行 set 指令的效果相同)。
语法
declare [-aAfFgilrtux] [-p] [name[=value] ...]
选项:
-f 将操作或显示限制为函数名及函数定义。
-F 只显示函数名(调试时附加行号和源文件)。
-g 在shell函数中使用时创建全局变量;其他情况下忽略。
-p 显示指定变量的被声明类型。
设置属性的选项:
-a 变量声明为数组数组(如果支持)。
-A 创建关联数组(如果支持)。
-i 变量声明为整型。
+i 取消变量的整型属性。
-l 增加小写属性,变量的值将转换为小写。
+l 删除小写属性。
-n 增加引用属性(如果该选项存在)。
+n 删除引用属性(如果该选项存在)。
**-r 增加只读属性**。
-t 增加追踪属性。
+t 删除追踪属性。
-u 增加大写属性,变量的值将转换为大写。
+u 删除大写属性。
-x 设置环境变量。
+x 取消环境变量。
实例
声明整数型变量
declare -i a //声明整数型变量
a=9 //变量赋值
echo $a //显示变量值
改变变量属性
declare -i e //声明整数型变量
e=5
echo $e
e="wer" //变量赋字符串值
echo $e //输出结果为0
declare +i e //取消变量整型属性
e="wer"
echo $e //输出结果为wer
设置变量只读
declare -r a //设置变量为只读
a=8 //改变变量内容
$ -bash: a: 只读变量
声明数组变量
declare -a cd='([0]="a" [1]="b" [2]="c")' //声明数组变量
echo ${cd[1]}
相关命令: