readonly命令用于定义只读shell变量和shell函数。readonly命令的选项-p可以输出显示系统中所有定义的只读变量。

选项

-f:定义只读函数;
-a:定义只读数组变量;
-p:显示系统中全部只读变量列表。

实例

(1)readonly命令显示系统中所有的已经定义的只读变量,:

[root@localhost ~]# readonly     #显示只读变量

(2)对于只读变量而言,若用户对其值进行修改,则会立即报错。

[root@localhost ~]# readonly test='ok'         #定义只读变量并初始化

 

declare命令用于声明和显示已存在的shell变量。当不提供变量名参数时显示所有shell变量。declare命令若不带任何参数选项,则会显示所有shell变量及其值。declare的功能与typeset命令的功能是相同的。

+/-:"-"可用来指定变量的属性,"+"则是取消变量所设的属性;
-f:仅显示函数;
r:将变量设置为只读;
x:指定的变量会成为环境变量,可供shell以外的程序来使用;
i:[设置值]可以是数值,字符串或运算式。

实例

declare test='man.linuxde.net'    #定义并初始化shell变量

 

 

unset命令用于删除已定义的shell变量(包括环境变量)和shell函数。unset命令不能够删除具有只读属性的shell变量和环境变量。

-f:仅删除函数;
-v:仅删除变量。

实例

使用unset命令将前面所创建的环境变量mylove及其对应的值进行删除,输入如下命令:

unset -v mylove         #删除指定的环境变量

 

env命令用于显示系统中已存在的环境变量,以及在定义的环境中执行指令。该命令只使用"-"作为参数选项时,隐藏了选项"-i"的功能。若没有设置任何选项和参数时,则直接显示当前的环境变量。

如果使用env命令在新环境中执行指令时,会因为没有定义环境变量"PATH"而提示错误信息"such file or directory"。此时,用户可以重新定义一个新的"PATH"或者使用绝对路径。

语法

env(选项)(参数)

选项

    -i:开始一个新的空的环境;

-u<变量名>:从当前环境中删除指定的变量。

 export命令用于设置或显示环境变量。

在shell中执行程序时,shell会提供一组环境变量。export可新增,修改或删除环境变量,供后续执行的程序使用。export的效力仅及于该次登陆操作。

语法

export [-fnp][变量名称]=[变量设置值]

参数说明

  • -f  代表[变量名称]中为函数名称。
  • -n  删除指定的变量。变量实际上并未删除,只是不会输出到后续指令的执行环境中。
  • -p  列出所有的shell赋予程序的环境变量。

实例

export -p //列出当前的环境变量值
export MYENV //定义环境变量
export MYENV=7 //定义环境变量并赋值