Как проверить, работает ли в Cygwin, Mac или Linux?

У меня есть сценарий оболочки, который используется как в Windows / Cygwin, так и в Mac и Linux. Для каждой версии нужны немного разные переменные.

Как скрипт shell / bash может определить, запущен ли он в Cygwin, на Mac или в Linux?