【问题标题】:Where does MinGW/Cygwin convert environment variables to Windows style?MinGW/Cygwin 在哪里将环境变量转换为 Windows 样式?
【发布时间】:2018-12-23 22:33:46
【问题描述】:

如果您在 Cygwin 或 MinGW bash shell 中,像 $PATH 这样的环境变量采用“UNIX”格式 - 使用正斜杠作为 dir 分隔符并使用冒号分隔多个路径。但是,如果在这个 shell 中运行类似cmd.exe /c 'echo %PATH%' 的内容,则结果输出为“Windows”格式,分别使用反斜杠和分号。

这种神奇的转换是否记录在某处?或者更好的是,有人可以指出导致这种情况发生的代码吗?

(我问的原因是因为似乎转换并不总是发生,我试图了解它发生所需的确切条件。)

【问题讨论】:

    标签: windows bash environment-variables cygwin


    【解决方案1】:

    Unix 和 Windows 路径格式之间的内部转换是 由path.cc中的函数执行

    https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/path.cc;h=3cb46c9c812e17460d56def2f915b21c7227f3bf;hb=HEAD

    当 Cygwin 程序执行 Windows 程序时,生成进程是 由 spawn.cc 中的函数执行

    https://cygwin.com/git/gitweb.cgi?p=newlib-cygwin.git;a=blob;f=winsup/cygwin/spawn.cc;h=37db52608e24e866e80401668ef13562f0cb67ea;hb=HEAD

    如果您需要更多详细信息或要求澄清,请使用 cygwin 邮件列表。

    【讨论】:

      猜你喜欢
      • 2012-07-07
      • 1970-01-01
      • 1970-01-01
      • 2018-11-12
      • 2017-11-25
      • 2011-03-07
      • 2020-05-29
      • 2016-08-08
      • 2017-06-16
      相关资源
      最近更新 更多