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