The*_*ent 63 command-line bash environment-variables
有人告诉我:
BASH 不是环境变量,而是 shell 变量
有什么不同?
Lek*_*eyn 52
环境变量是全局可用的,在程序及其子程序中。shell 变量仅在当前 shell 中可用。要使 shell 变量可用作环境变量,请使用export VARNAME
(无美元$
)。
澄清示例:
$ SOME=VAR # define shell variable $SOME
$ echo $SOME
VAR
$ env | grep SOME # note: no output
$ export SOME # turn $SOME into an environment variable
$ env | grep SOME
SOME=VAR
Run Code Online (Sandbox Code Playgroud)
定义环境变量的另一种方法:
$ export ANOTHER=VALUE
$ echo $ANOTHER
VALUE
$ env | grep ANOTHER
ANOTHER=VALUE
Run Code Online (Sandbox Code Playgroud)
Tak*_*kat 41
$BASH
是仅在当前 (bash) shell 中有效的局部变量。
诸如此类的环境变量$SHELL
在系统范围内有效。在当前的 Bash shell 中,$BASH
指向bash的执行路径,而$SHELL
指向定义为默认值的 shell(可能具有相同的值)。
有关环境变量的说明,请参阅Ubuntu 帮助中的环境变量。
它们是有区别的。Shell Variables 和 Environment Variables会尽我所能更好地解释它,但这里有一个摘录:
如果对 shell 变量进行了更改,则必须将其显式“导出”到相应的环境变量,以便任何分叉子进程都能看到更改。回想一下,shell 变量对于定义它们的 shell 来说是本地的。
归档时间: |
|
查看次数: |
90075 次 |
最近记录: |