$(OS)
の使用 、他の回答に記載されているように、 Windows_NT
を区別できます と Unix
(これには Linux と macOS の両方が含まれます) が、異なる Unix ライクなシステム間ではありません。 MSBuild 15.3 以降を使用している場合 (その可能性が非常に高い)、[MSBuild]::IsOsPlatform()
の使用を検討することをお勧めします。 :
<Exec Command="./foo.sh" Condition="$([MSBuild]::IsOSPlatform('Linux'))" />
引数は任意の OsPlatform
の名前にすることができます メンバー。
変数は $(OS)
です 、通常は Windows_NT
であるかどうかをチェックします :
<Exec Command="./foo.sh" Condition=" '$(OS)' != 'Windows_NT' " />