MinGW更改HOME环境变量
我正在使用 MinGW,并尝试设置一个名为 HOME 的环境变量。
我将变量设置为“C:\Users\jdoe”,但是当我从命令提示符运行 printenv 时,它告诉我 HOME 的值是“/c/Users/jdoe” >”。
我已经测试了其他变量名称,但这种变化没有发生。仅适用于家庭。当我删除 HOME 环境变量时,printenv 不再列出 HOME。
一些简单的程序,如 mkdir 和 rm 不介意这种改变,但 gcc 却没有。我希望能够在 Windows 和 Linux 上构建这个项目。拥有一个有效的 HOME 变量将非常有用。为什么会发生这种情况?我可以在哪里阻止它?
I'm using MinGW and I'm trying to set an environment variable called HOME.
I set the variable to "C:\Users\jdoe" but when I run printenv from the command prompt it tells me the value of HOME is "/c/Users/jdoe".
I've test out other variables names, and this change doesn't happen. Only for HOME. When I remove the HOME environment variable printenv no longer lists HOME.
Some simple programs like mkdir and rm don't mind this change but gcc is having none of it. I'd like to be able to build this project on both windows and linux. Having a working HOME variable would be very useful. Why is this happening and where can I make it stop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
“从命令提示符运行 printenv”是指从 MSYS 提示符运行它吗?
如果是这种情况,则 HOME 环境变量的更改是合理的,因为 MSYS 试图为您提供一个类似 GNU/Linux 的环境,其中没有驱动器号。只有一个文件系统,即 /,其他所有内容都安装到其中。
因此,在 MSYS 中,C:\ 变为 /c/ 等...
MSYS 中的 /c/Users/jdoe 与 cmd.exe 或资源管理器中的 C:\Users\jdoe 是同一目录。
By "run printenv from the command prompt" you mean running it from the MSYS prompt?
If this is the case, the change of the HOME environment variable can be justified because MSYS tries to give you a GNU/Linux-like environment, where there aren't drive letters. There is only one filesystem, the /, and everything else is mounted into this.
Hence, in MSYS C:\ becomes /c/, etc...
The /c/Users/jdoe in MSYS is the same directory as C:\Users\jdoe in cmd.exe, or in the explorer.