我可以在 cygwin 中看到 windows 系统变量
echo $MYVar
但是,用户变量似乎不起作用。我指的是您在系统属性->高级->环境变量中设置的变量(红色箭头)。Cygwin 只导入系统变量吗?
答案1
正常情况下,应该导入两者。
最有可能适用于您的情况的例外是您使用 SSH 客户端作为终端。在这种情况下,Cygwin 不会导入用户变量。您是使用 SSHPuTTY
还是另一个类似的 SSH 客户端连接到您自己的工作站?如果您不确定,请尝试运行命令echo $SSH_TTY
。如果该命令没有空白输出,则意味着您的 shell 实例是通过 SSH 客户端运行的,并且在这种情况下不会导入用户的本地环境变量。
您有两种选择来解决这个问题...您可以使用本地终端客户端(如 Mintty 或 rxvt)而不是 SSHing,这两者都是 Cygwin 的原生功能,或者您可以编辑 Cygwin 文件profile
以/etc
告诉它在通过 SSH 运行时不要跳过本地变量。此链接显示了如何做到这一点...http://smithii.com/node/44