declare [-afFirtx] [-p] [name[=value]]
声明变量且/或设置它们的属性。如果没有给出 name 则显示变量的值。
选项 -p 将显示每个名称 name 的属性和值。
当使用 -p 时,其他选项被忽略。选项 -F 禁止显示函数定义;只有函数名和属性会被显示。-F 选项暗含 -f.
下列选项可用来限制只输出具有指定属性的变量,或者为变量设置属性:-a 每个 name 都是数组变量 (参见上面的 Arrays 段落)。
-f 只使用函数名。
-i 变量被当作一个整数;当变量被赋值时将进行算术运算 (参见 算术求值 (ARITHMETIC EVALUATION) 章节)。
-r 使得 name 只读。这些名称不能再被后续的赋值语句赋值或取消定义。
-t 设置每个 name 的 trace(跟踪) 属性。被跟踪的函数继承了 调用者 shell 的 DEBUG 陷阱。trace 属性对变量没有特殊意义。
-x 标记 name 为可以通过环境导出给后续命令。
使用 `+' 代替 `-' 将关闭属性,特殊情况是 +a 不能用于销毁一个 数组变量。当用于函数中时,它使得每个 name 成为局部的,就像 使用了
local 命令。返回值是 0,除非遇到了非法的选项,试图使用 ``-f foo=bar''
定义函数,试图向只读变量赋值,试图向数组变量赋值但没有使用复合的赋值 语法 (参见上面的 Arrays 段落),name 之一不是有效的 shell
变量名,试图将数组变量的数组 状态关闭,或者是试图使用 -f 显示一个不存在的函数。
from $ man bash 。