我在 /etc/environment 中设置了一个环境变量,但它不在使用 bash.exe 和 Windows cmd 的 printenv 中。为什么?

0x1*_*337 8 environment windows-subsystem-for-linux

我正在使用 WSL,而且我对 Linux 还是很陌生。我在/etc/environment名为 TESTVAR 中设置了一个环境变量。某些项目需要这个变量,当我直接运行 Bash 时它工作得很好。

但是,如果我使用 Windows cmd 运行 Linux 命令,例如:bash.exe -c "printenv",则该变量不存在。所以我不能使用 cmd 运行我的命令,否则我会得到很多错误,因为变量包含一个重要的路径。

我需要做什么?

谢谢。

Pan*_*her 5

Windows 上的 bash 有几种方法

https://github.com/Microsoft/WSL/issues/24

基本上你将它们添加到 ~/.bashrc

如果这不起作用,请发布您的 .bashrc

我不知道为什么 /etc/environment 不起作用。