Ich schätze, die uname Antwort ist unschlagbar, vor allem in Bezug auf die Sauberkeit.
Obwohl die Ausführung lächerlich lange dauert, habe ich festgestellt, dass die Prüfung auf das Vorhandensein bestimmter Dateien ebenfalls gute und schnellere Ergebnisse liefert, da ich keine ausführbare Datei aufrufe:
Also,
[ -f /usr/bin/cygwin1.dll ] && echo Yep, Cygwin running
verwendet nur eine schnelle Bash-Dateipräsenzprüfung. Da ich gerade mit Windows arbeite, kann ich Ihnen keine spezifischen Dateien für Linuxe und Mac OS X nennen, aber ich bin mir ziemlich sicher, dass es sie gibt :-)