cygwin detection

Kenneth Nellis
Fri Sep 29 13:52:00 GMT 2006

Couldn't find anything relevant in the archives or the documentation...

I have bash scripts that I want to run identically under Cygwin and 
Linux, which sometimes require the scripts to detect the environment 
and branch accordingly. There are numerous ways to do Cygwin detection, 
but I was wondering what technique should work with the widest audience 
and be most immune to future Cygwin developments.

FWIW, below are various techniques that work for *me* *today*, some of 
which have obvious flaws.

if [ -f /usr/bin/cygwin1.dll ]; then
if [ $CYGWIN_ROOT ]; then
if [ $OSTYPE = cygwin ]; then
if [ $(uname -s | grep -c CYGWIN) -gt 0 ]; then
if [ $(grep -c cygwin <<< ${BASH_VERSINFO[5]}) -gt 0 ]; then
if is_cygwin; then    # where is_cygwin is a locally-built C program
                      # that tests #ifdef __CYGWIN__

--Ken Nellis

Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list