UNIX导出命令

时间:2011-09-07 02:18:26

标签: bash shell unix

我试图了解export命令的用法。

我尝试使用man export,但此命令没有手册。

有人可以帮助我理解在UNIX中使用export吗?

4 个答案:

答案 0 :(得分:212)

执行程序时,子程序从父项继承其环境变量。例如,如果父级中$HOME设置为/root,则子级$HOME变量也会设置为/root

这仅适用于标记为导出的环境变量。如果在命令行设置变量,如

$ FOO="bar"

该变量在子进程中不可见。除非您将其导出:

$ export FOO

你可以在bash中将这两个语句合并为一个语句(但不是在老派中):

$ export FOO="bar"

这是一个快速示例,显示导出和非导出变量之间的差异。要了解正在发生的事情,请知道sh -c创建了一个继承父shell环境的子shell进程。

$ FOO=bar
$ sh -c 'echo $FOO'

$ export FOO
$ sh -c 'echo $FOO'
bar

注意:要获取有关shell内置命令的帮助,请使用help export。 Shell内置命令是shell的一部分,而不是/bin/ls等独立的可执行文件。

答案 1 :(得分:15)

的Unix

命令env,set和printenv显示所有环境变量及其值。 env和set也用于设置环境变量,通常直接包含在shell中。 printenv还可以通过将变量名作为命令的唯一参数来打印单个变量。

在Unix中,也可以使用以下命令,但通常依赖于某个shell。

export VARIABLE=value  # for Bourne, bash, and related shells
setenv VARIABLE value  # for csh and related shells

您可以在

处查看this

答案 2 :(得分:4)

exportbash shell和其他Bourne shell variants的内置命令。它用于标记shell变量以导出到子进程。

答案 3 :(得分:0)

export用于设置环境变量。例如:

export EDITOR=pico

将默认文本编辑器设置为pico命令。