This is the mail archive of the cygwin@cygwin.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Cygwin Bash Script Syntax Question


On Thu, 24 Apr 2003, Steve wrote:

> Hi;
>
> I am using cygwin on win2k.
> I have a __native__  JDK 1.3 installed.
>
> I am trying to write myself a bash script to do some compiling jobs.
> I am having trouble getting some path syntax issues ironed out.
>
> The native java will accept either  C:\FOO\FOO  or C:/FOO/FOO
> The native java will not accept /cygdrive/c/FOO/FOO
>
> After some experimentation it seems that bash is getting confused about
> the ':' symbol.  It seems to be interpreting the ':' in C:/foo as a path
> seperator so
>
> PATH=C:/foo:C:/foa
>
> is getting interpreted as specifiying these dirs:
> C:/foo
> C
> foo
>
> Anyway I would like to write a script that would look like this
> in a .sh file:
>
> ----------------------------------------
> export SOURCEDIR=C:/foo
> export OUTDIR=C:/foa
> export CLASSPATH=C:/abc:C:/def:C:/ghi
>
> javac -sourcepath $SOURCEDIR -d $OUTDIR -classpath $CLASSPATH $1
> ------------------------------------------
>
> So.....what would the path syntax be like?
> Do I use ':' or ';' as directory seperators?
> Do I use '/' or '\' ?
>
> I'm sorry if this seems lame but I am getting dizzy from tyring to make
> a native windows installation of java work with a cygwin .sh file
>
> Any help will be appreciated
>
> STeve

Steve,

Bash doesn't do any special variable translation when calling Windows
apps, so JDK gets the CLASSPATH exactly how you define it.  Since the JDK
expects a CLASSPATH in Win32 format with ";" as a separator, that's the
format you have to set CLASSPATH in.  Don't forget to escape the ";" with
"\" in bash, so it doesn't interpret ";" as the command separator.  Since
the JDK accepts both "/" and "\" as directory separators, it doesn't
matter which one you use (but you'll have to escape the "\"s in bash).

You could also define CLASSPATH in POSIX format and use `cygpath -mp` or
`cygpath -wp` to translate it to Windows format.
	Igor
-- 
				http://cs.nyu.edu/~pechtcha/
      |\      _,,,---,,_		pechtcha at cs dot nyu dot edu
ZZZzz /,`.-'`'    -.  ;-;;,_		igor at watson dot ibm dot com
     |,4-  ) )-,_. ,\ (  `'-'		Igor Pechtchanski
    '---''(_/--'  `-'\_) fL	a.k.a JaguaR-R-R-r-r-r-.-.-.  Meow!

Knowledge is an unending adventure at the edge of uncertainty.
  -- Leto II


--
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/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]