我见过像这这样的相关问题,但它们没有给出我的问题的确切答案
从我的实验以及这个答案、printenv
和env
来看,几乎都显示了相同的系统变量集。
如果我将变量设置为
我甚至注销并登录,这样/etc/环境就会生效。发生了以下情况:
$echo $SYSTEM_ENVI
//outputs 1000
$echo $USER_ENVI
//outputs 10
$CURR_ENVI=1
$env | grep USER_ENVI
//nothing shows up, the same if I grepped SYSTEM_ENVI or CURR_ENVI
$set | grep USER_ENVI
//shows up USER_ENVI assignment, the same if I grepped SYSTEM_ENVI or CURR_ENVI
我的问题是:
printenv
/env
打印哪些系统变量?set
来查看所有可访问变量(系统变量和局部变量)而不是printenv
或env
吗?Regarding不重复说明
就我而言,这个问题和明确的答案帮助我认识到以下事实:
我认为我的问题与这一个并没有什么不同,但是读到这个问题的标记答案并不能满足我在这篇文章中给出的答案。
发布于 2018-09-17 20:21:06
通过这样做:
USER_ENVI=10
您正在设置变量,而不是环境变量。为此,你需要:
export USER_ENVI=10
或
USER_ENVI=10; export USER_ENVI
这是合理的,这不适用于你:
$ env | grep SYSTEM_ENVI
没有称为SYSTEM_ENVI
集的环境变量。关于/etc/environment
,我们没有什么可说的,因为您还没有发布它的内容(或者似乎正在使用它)。
env
将打印的内容与printenv
应该打印的内容完全相同(没有选项)。
答案:
https://unix.stackexchange.com/questions/469543
复制相似问题