This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project. See the Cygwin home page for more information.
Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Cygwin compatibility Questions




I have some scripts that need to run under many shells and tried them under
Cygwin.
I ran into a couple of problems.

1) The scripts launch a task to run some DB2 commands (db2cmd db2 ...).
Since these run asynchronously, the scripts monitor the db2 process (db2sysc*)
to determine when it is done.  Under Cygwin, the ps command doesn't seem to
show most processes, even those I launch.  What do I need to do to be able to
see them?

2) The scripts need to cd to other directories (on other disks) during
operation.
The general technique used is basically:

   oldDir=`pwd`
   cd <somewhere>
   ...
   cd $oldDir

In Cygwin, the paths don't seem to have an drive letters, so when the target is
a different drive, the cd fails.  I found that I can use cygpath, e.g.

   oldDir=`pwd`
   if [ "$OSTYPE" = "cygwin32" ]; then
      oldDir=`cygpath -w $oldDir`
   fi
   ...
   cd $oldDir

but this means significant Cygwin specific changes to the scripts and an
increased likelihood of errors.  Very undesirable.

Is there some modal way (e.g., CYGWIN environment variable setting)
to get paths in "windows" format?

3) Similar to the above, the scripts need to invoke other scripts, commands,
etc.
on other paths:

   ${somepath}/command

This has the same problem with the default paths as above when the
command is on a different drive.  Using cygpath to convert the path
still doesn't work (I get 'not found").  I found that I need to convert the
'\'s to '/' to get it to work:

   thePath=`pwd`
   thePath=`cygpath -w $thePath | tr \\\\\\\\ /`
   ...

   ${thePath}/command

What is the proper Cygwin way to ensure that I will get paths that resolve
correctly?  The above requires too much cygwin-specific code.


A general comment.  I've tried these scripts on numerous shells.
One of the critical elements of shells is their handling of Window's paths.
If my understanding, above, is correct, then Cygwin handling of paths
will cause serious incompatibilities with other shells.  This doesn't
seem to be inherent to GNU since other GNU-based shells don't
have these problems.

Thanks in advance for any help,

     -- Frank Lawlor
           IBM, Austin



--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com