我一直对 Windows 7 中的环境变量问题感到困惑。

我们有一个 Jenkins 服务器,它在 %HOME% 环境变量中找不到 SSH key ,因为它想访问路径:

/c/users/jenkins

但是,如果我使用
echo %HOME%

在作为我的 Jenkins 用户的普通命令提示符窗口中,结果是
C:\users\jenkins

但是,如果我在 Windows PowerShell 中使用环境命令,我也会得到
/c/user/jenkins

在可从系统属性访问的普通 GUI 中 - 高级标签 -> 环境我得到以下信息
C:\users\jenkins

我试过将它们设置回来,但问题仍然存在。就 Jenkins 获得与 PowerShell 相同的输出而言。

我该如何设置它们? (不是cmd和windows系统认为自己设置错了。)
访问相同的环境变量到底如何给我不同的输出?
有没有办法让这种情况发生?
它们存储在哪里,以便我可以手动编辑它们的存储位置?

最佳答案

正如@Luis 在评论中提到的, env 命令不是 PowerShell 的一部分。它可能由您安装的其他一些实用程序集提供,旨在模拟 Linux env command

要在 PowerShell 中引用环境变量,请使用 $env:<variable-name> 语法或环境提供程序 - Get-Content env:\<variable-name>

要设置环境变量,您可以使用 $env:<variable-name> = "<variable-value>"
有关详细信息,请尝试在 PowerShell 中运行 help about_Environment_Variables

关于windows - 在 PowerShell 或 cmd 中读取环境变量会产生不同的结果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31275161/

10-11 22:48
查看更多