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/

Reply via email to