在Ubuntu中,"export"命令的含义是什么?

36

在Ubuntu中,export是什么意思?例如:

export PATH=$PATH:/usr/src/hive/build/dist/bin/

4
这是一个Bash命令;info bash可以获得更多信息。而且正确的拼写是"Ubuntu",不是"ubunto"。 - Keith Thompson
3个回答

40

export 是 Bash shell 语言中的一个命令。当用于设置变量,如您的例子中,该变量(PATH)将会对从该 Bash 实例启动的任何子进程可见(“导出”)。如果没有使用 export 命令,则该变量在子进程中不存在。


但是当我运行这个命令时,没有任何反应。我在运行这个命令时应该看到一些变化吗? - Baper
4
如果你执行echo $PATH,你会看到你已经导出的目录在PATH中。不要忘记,如果你想以永久的方式将此目录添加到你的路径中,你需要将导出放到你的~/.bashrc文件中。 - CRM
1
一开始看起来什么也没有发生,但是你可以像我在答案中提到的那样运行此目录中的任何程序。 - Oliver
1
export PATH=$PATH:.PATH=$PATH:. 之间的区别是什么? - palash140

15

这意味着,您的路径被扩展为/usr/src/hive/build/dist/bin/。通常,/usr/bin、/bin、/usr/sbin等都在“您的路径”中。如果您有一个程序/bin/sh,只需键入sh即可运行它。如果您有一个程序在/usr/src/hive/build/dist/bin/appname中,您可以直接运行appname来执行它。


3
它将环境变量PATH设置为当前PATH值加上新路径的值。请注意,保留原有的HTML标签。

我应该在这个路径 /usr/src/hive/build/dist/bin/ 看到什么东西吗? - Baper
你是在问那个目录里是否应该有内容吗? - tigrang
是的,这个命令会在此路径下创建新目录吗? - Baper
1
如果您想问的是它是否在文件系统上创建目录,那么不是这样的。它将该目录附加到“PATH”环境变量中,因此您可以调用该目录中的任何命令而无需键入完整路径。如果该目录中有/usr/src/hive/build/dist/bin/some_program,一旦将该目录添加到“PATH”变量中,您只需调用some_program即可,无需输入完整路径。 - tigrang

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接