Linux学习- declare / typeset 声明变量类型与属性

时间:2022-02-23 15:33:29

      declare [-afFirtx] [-p] [name[=value]]


       typeset [-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 。