ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anderson, Rob (Global Trade)" <Rob.Ander...@nike.com>
Subject RE: Unix commads behaving different in Ant task
Date Mon, 08 May 2006 17:47:18 GMT
Not in this case. The shell does not need to expand the asterisk for the
find command to work. In fact, the shell can often times cause an error
when running the find command because it expands the asterisk when it
should not.

For example:

$ touch something.txt antherthing.txt yetanother.txt
$ find ./ -name *.txt
find: paths must precede expression
Usage: find [path...] [expression]

This error occurs because the shell will expand the asterisk and pass in
the three .txt files as args to find.

Now try this:

$ rm *.txt # be carefull to run this in some temp dir
$ mkdir newdir
$ touch newdir/something.txt newdir/anotherthing.txt
newdir/yetanother.txt
$ find ./ -name *.txt
./newdir/something.txt
./newdir/anotherthing.txt
./newdir/yetanother.txt

It works as expected because the shell does not expand the asterisk.

Anyway, I agree that you are better off doing this with a fileset in
Ant, since it will be a cross platform solution.

-Rob A



> -----Original Message-----
> From: Scot P. Floess [mailto:floess@mindspring.com] 
> Sent: Monday, May 08, 2006 10:26 AM
> To: Ant Users List
> Subject: Re: Unix commads behaving different in Ant task
> 
> That won't work as a shell expands the asterisk....
> 
> Anderson, Rob (Global Trade) wrote:
> > Your usage of the find command is incorrect. To find all 
> the jars in 
> > ./myDir you would run the following:
> >
> > Find ./myDir -name *.jar
> >
> > You should change the arg line to:
> >
> > <arg line="$basedir}/myDir -name *.jar"/>
> >
> > -Rob A
> >
> >   
> >> -----Original Message-----
> >> From: Venkat Kotu [mailto:vkotu@porticosys.com]
> >> Sent: Friday, May 05, 2006 11:42 AM
> >> To: user@ant.apache.org
> >> Subject: Unix commads behaving different in Ant task
> >>
> >> Hi,
> >>
> >>  
> >>
> >> I have a situation where in I need to find all the .jar 
> files in  a 
> >> directory and write it to a temp file.
> >>
> >>  
> >>
> >> The command from the prompt is : find myDir/*.jar and it lists all 
> >> the .jar files from myDir directory.
> >>
> >>  
> >>
> >> The ant target defined for the purpose is:
> >>
> >>  
> >>
> >> <target name="list.jars">
> >>
> >>             <exec os="unix" executable="find" 
> >> outputproperty="temp.txt">
> >>
> >>                         <arg line="$basedir}/myDir/*.jar"/>
> >>
> >>             </exec>
> >>
> >>  </target>
> >>
> >>  
> >>
> >> This does not return any thing.
> >>
> >>  
> >>
> >> What I am doing wrong?
> >>
> >>  
> >>
> >> Thanks
> >>
> >> Venkat Kotu
> >>
> >>  
> >>
> >>  
> >>
> >>
> >>     
> >
> >
> > 
> ---------------------------------------------------------------------
> > To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For 
> additional 
> > commands, e-mail: user-help@ant.apache.org
> >
> >
> >   
> 
> --
> Scot P. Floess
> 27 Lake Royale
> Louisburg, NC  27549
> 
> 252-478-8087 (Home)
> 919-754-4592 (Work)
> 
> Chief Architect JPlate  http://sourceforge.net/projects/jplate
> Chief Architect JavaPIM http://sourceforge.net/projects/javapim
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@ant.apache.org For 
> additional commands, e-mail: user-help@ant.apache.org
> 
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@ant.apache.org
For additional commands, e-mail: user-help@ant.apache.org


Mime
View raw message