declare命令详解

声明shell变量

语法

declare [+/-] [rxi] [变量名称=设置值]

declare [-f]

功能介绍

declare 命令在第一种语法中可用来声明变量并且变量的属性([rxi]即为变量的属性),在第二种语法中可用来显示 shell 函数。

若不加上任何参数,则会显示全部的 shell 变量与函数(与执行 set 命令的效果相同)

参数

参数 作用
+/- - 可用来指定变量的属性, + 则是取消变量所设属性
-f 仅显示函数
r 将变量设置为制度
x 指定的变量会成为环境变量,可供 shell 意外的程序使用
i [设置值] 可以是数值、字符串或运算式。当[设置值]为运算式时,若指定 -i 属性,则会先求出运算式的结果,在将结构指定给变量

例子

显示 shell 全部的变量级函数:

# declare
BASH=/bin/bash
BASHOPTS=checkwinsize:cmdhist:expand_aliases:extquote:force_fignore:hostcomplete:interactive_comments:login_shell:progcomp:promptvars:sourcepath
BASH_ALIASES=()
BASH_ARGC=()
...