区分MSYS和MSYS2以及CYGWIN

时间:2015-09-08 10:59:41

标签: cygwin scons msys msys2

如何区分MSYS和MSYS2以及CYGWIN,例如通过命令或预定义的环境变量?

像Scons这样的工具需要这种区别来适应生成的命令行,例如:发出双重反对c:\\path\\to\\file或反向`cygpath -w /c/path/to/file`

背景:我想使用MSYS2,因为它具有出色的包管理功能。 Scons在MSYS2上生成/c/path/to/file,但csc(Microsoft的C#编译器)仅允许Windows样式路径。

1 个答案:

答案 0 :(得分:0)

检查系统名称和版本:

case "$(uname -or)" in
    1.*Msys)  system='msys'   ;;
    2.*Msys)  system='msys2'  ;;
    .*Cygwin) system='cygwin' ;;
esac