Web lists-archives.org

Re: programming API to determine whether in 'Cygwin environment'




All the same, you should probably check to see that whatever variables you choose to key off of don't alter the way your program behaves in other alternate Windows shells. A co-worker of mine uses 4NT, which provides UNIX command and shell emulation in a native Windows format. I expect it has at least $SHELL and/or $TERM.

FWIW...

William Sutton


On Fri, 11 Jul 2008, Corinna Vinschen wrote:

On Jul 10 22:32, Yitzchak Scott-Thoennes wrote:
On Thu, July 10, 2008 10:06 pm, Christopher Faylor wrote:
On Thu, Jul 10, 2008 at 08:49:06PM -0700, Tony Last wrote:
My console program is built for native Windows (thus does not reply on
cygwin1.dll).

So I'm looking for a boolean method which will allow a program to tell
whether it was run from within a Cygwin shell.

A PATH containing colons which weren't preceded by just a single
alphabetic character would be a clue but it wouldn't be foolproof.  A HOME
environment variable with no colons and forward slashes would be another
clue.  I don't think there is a foolproof test, though.

Both HOME and PATH are translated by the time the non-cygwin program
sees them, though??

$TERM would be set.  That's very unlikely when started from cmd.
$SHELL would be a hint, too.


Corinna

--
Corinna Vinschen                  Please, send mails regarding Cygwin to
Cygwin Project Co-Leader          cygwin AT cygwin DOT com
Red Hat

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/




--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/