我试图了解export
命令的用法。
我尝试使用man export
,但此命令没有手册。
有人可以帮助我理解在UNIX中使用export
吗?
答案 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)
export
是bash
shell和其他Bourne shell variants的内置命令。它用于标记shell变量以导出到子进程。
答案 3 :(得分:0)
export
用于设置环境变量。例如:
export EDITOR=pico
将默认文本编辑器设置为pico
命令。