如何通过命令或预定义的环境变量来区分MSYS和MSYS2以及CYGWIN?
像Scons这样的工具需要这种区别来调整生成的命令行,例如,发出双反斜杠的c:\\path\\to\\file或反向标记的`cygpath -w /c/path/to/file`。
背景:我想使用MSYS2,因为它有很好的包管理。Scon在MSYS2上生成MSYS2,但是csc (微软的C#编译器)只允许使用Windows样式的路径。
发布于 2015-09-08 19:14:56
我不知道有任何环境变量能够可靠地传递这些信息,但是uname -s的输出应该告诉您。
发布于 2016-06-21 07:04:56
检查系统名称和版本:
case "$(uname -or)" in
1.*Msys) system='msys' ;;
2.*Msys) system='msys2' ;;
.*Cygwin) system='cygwin' ;;
esachttps://stackoverflow.com/questions/32456026
复制相似问题