什么是“出口”的命令呢?(What does the 'export' comman

2019-07-04 20:40发布

我有点新的Linux,而我又盲目地运行一些命令,为了把事情做好。 我认为这不会问这些问题类型的浪费,因为更多的新人们将不得不对这些规则的知识。

我开始上班詹金斯最近,然后我不得不用这个export命令来运行詹金斯战争档案 。 所以,我需要知道export的命令,一般做,为什么我们需要运行这个命令,在运行詹金斯(詹金斯家设置后)。

谢谢!

Answer 1:

exportsh和相关的壳(如bash ),标志着一个环境变量导出到子流程,使孩子继承他们。

export在POSIX定义 :

外壳应给予出口属性对应于指定的名称,并应使他们在随后执行的命令的环境变量。 如果一个变量的名称后面=字,则该变量的值应被设置成字。



Answer 2:

我猜你从窗户背景的。 所以我会对比他们(我有点新的Linux太)。 我发现用户的回复我的评论,是在盘算的事情了有益的。

在Windows中,一个变量可以是永久的或没有。 术语环境变量包括与所述SET命令CMD壳中设置的变量,以及当变量被设定在窗口GUI内,由此设置在注册表中,并且成为新CMD窗口可见的。 例如,在Windows文档set命令https://technet.microsoft.com/en-us/library/bb490998.aspx “显示,设置或删除环境变量。如果不带参数,设置显示当前环境设置。” 在Linux中,设置不显示环境变量,它显示壳变量,它不调用/称之为环境变量。 此外,Linux不使用集来设置变量(除了位置参数和壳选择,这是我作为结尾的说明解释)中,仅显示它们甚至然后仅显示shell变量。 Windows使用用于设置和显示如集= 5集,Linux没有。

在Linux中,我想你可以做一个脚本,设置在启动时,如变量/etc/profile/etc/.bashrc但除此之外,他们不是永久性的。 它们被存储于RAM。

Linux中有shell变量和环境变量之间的区别。 在Linux中,shell变量只在当前的shell和环境变量,是在外壳和所有子壳。

您可以查看与shell变量set命令(但请注意,与Windows,变量无法在Linux中设置使用set命令)。

set -o posix; set set -o posix; set (这样做一套-o POSIX一次第一,帮助不会显示太多不必要的东西)。 因此, set显示器shell变量。

您可以查看环境变量与env命令

壳变量都设置有例如只是a = 5

环境变量设置有出口,出口也设置了shell变量

在这里,你看到shell变量ZZZ组与ZZZ = 5,看看它显示了运行时set ,但不显示为一个环境变量。

在这里我们看到YYY设置有出口,所以这是一个环境变量。 看看它同时显示shell变量和环境变量下

$ zzz=5

$ set | grep zzz
zzz=5

$ env | grep zzz

$ export yyy=5

$ set | grep yyy
yyy=5

$ env | grep yyy
yyy=5

$

其他有用的线程

https://unix.stackexchange.com/questions/176001/how-can-i-list-all-shell-variables

https://askubuntu.com/questions/26318/environment-variable-vs-shell-variable-whats-the-difference

注意 - 一个点,这阐述了一下,有些要纠正我写的是什么,是在Linux下的bash,“集”可以用来设置“位置参数”和“外壳选项/属性”,和技术上的两个这些都是变数,但该名男子网页可能无法描述它们的方式。 但尽管如此,如前所述,设置将不设置shell变量或环境变量)。 如果set asdf然后设置$ 1 ASDF,如果你echo $1你看ASDF。 如果set a=5也不会设置变量,等于5将设置位置参数$等于1的“1 = 5”的字符串。 所以,如果你见过在Linux中设置= 5这可能是一个错误,除非有人竟然要该字符串= 5,$ 1。 另一件事是linux的设置可以设置,是shell选项/属性。 如果设置-o你看到他们的列表。 你也可以例如做set -o verbose ,关闭,对冗长的转(顺便说一句默认恰好是关闭,但没什么区别这个)。 或者你还可以set +o verbose把冗长了。 Windows有其set命令没有这样的用法。



Answer 3:

简单来说,当你打开一个新的shell会话环境变量设置。 另外,如果您更改任何变量值中的任何时间,外壳没有采摘这种变化的方式。 这意味着你作出生效的新的shell会话的变化。 该export命令,在另一方面,提供更新关于你导出的变量所做的更改当前shell会话的能力。 你不必等到新的shell会话使用你改变了变量的值。



文章来源: What does the 'export' command do?