Linux /etc/environment中的散列(";#";)符号导致字符串被拆分

Linux /etc/environment中的散列(";#";)符号导致字符串被拆分,linux,shell,ubuntu,command-line,Linux,Shell,Ubuntu,Command Line,我正试图通过添加一个环境变量到我的系统中 sudo nano /etc/environment 该值是一个包含散列的长字符串,# 包含#后,字符串未完全存储;#后面的字符消失 如果不包含#,字符串将被完全存储 我已尝试将字符串包装到“”: 我希望变量完全存储,如下所示: 34534554345#DFGDGDFG 不是这个: 34534554345 PAM解释/etc/environment,而不是shell。它的目的是在每一行上都是简单的KEY=VALUE,不需要引号#标记注释,无法逃避

我正试图通过添加一个环境变量到我的系统中

sudo nano /etc/environment
该值是一个包含散列的长字符串,
#

包含
#
后,字符串未完全存储;
#
后面的字符消失

如果不包含
#
,字符串将被完全存储

我已尝试将字符串包装到
“”

我希望变量完全存储,如下所示:

34534554345#DFGDGDFG
不是这个:

34534554345

PAM解释
/etc/environment
,而不是shell。它的目的是在每一行上都是简单的
KEY=VALUE
,不需要引号<代码>#标记注释,无法逃避

您可以使用
/etc/profile
定义环境变量。在大多数情况下,它应使其在全系统可用

/etc/environment

TEST2="12345#6789"
/etc/profile

export TEST="12345 #6789"
结果:

root@tempmon:~ $ env|grep TEST
TEST=12345# 6789
TEST2=12345

您使用的shell与bash和dash一样,如果您将变量设置为
34534554345#DFGDGDFG
,我无法用
MY#u VARIABLE=“34554345#DFGDGDFG
重现您的错误,而不是
3455434554345#dfgdfg
。注意空格。@JGNI它是bash@ArkadiuszDrabczyk这是django的秘密钥匙;这些空间只是为了让事情变得显而易见。事实上,这一切都与无空格连接。我已经打开了/etc/profile,但是我应该把变量放在哪里?我通常只是将它们添加到文件的末尾。谢谢你的回复。我将它添加到/etc/profile,但它不包括在用“printenv”打印的环境变量列表中。您导出了它吗?如果它位于/etc/profile中,则需要为:export VAR=“value”
root@tempmon:~ $ env|grep TEST
TEST=12345# 6789
TEST2=12345