Menggunakan $(OS)
, seperti yang didokumentasikan dalam jawaban lain, dapat membedakan antara Windows_NT
dan Unix
(yang mencakup Linux dan macOS), tetapi tidak di antara sistem mirip Unix yang berbeda. Jika Anda menggunakan MSBuild 15.3 atau lebih baru (yang kemungkinan besar), Anda mungkin ingin mempertimbangkan untuk menggunakan [MSBuild]::IsOsPlatform()
:
<Exec Command="./foo.sh" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
Argumennya bisa berupa nama OsPlatform
apa saja anggota.
Variabelnya adalah $(OS)
, biasanya dicentang apakah ada atau tidak ada Windows_NT
:
<Exec Command="./foo.sh" Condition=" '$(OS)' != 'Windows_NT' " />