ant-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject Re: Excute shell command
Date Wed, 15 Jul 2009 09:23:58 GMT

I combined xmltask and ant-contrib's shellscript like this

<target name="readme-replace" depends="init">
 <copy file="${src.xml.path}/pom.xml" todir="${dest.xml.path}"/>

  <!-- active-directory -->
  <xmltask source="${act.dir.path}/pom.xml">
   <copy path="//:project/:version[1]/text()" property="active-dir"/>

  <property name="act-dir" value="${active-dir}"/>
      <echo message="ACTIVE: ${act-dir}"/>

   <shellscript shell="bash">
                KAR=`echo ${act-dir} | awk -F. '{print $1}'`
                MAR=`echo ${act-dir} | awk -F. '{print $4}'`
     echo "KAR: $KAR"
     echo "MAR: $MAR"

  <echo message="First: ${KAR}"/>
  <echo message="Fourth: ${MAR}"/>

I am able to achieve what I want i.e. able to get values in variables "KAR" and 
"MAR" but the problem here is I am unable to use variable "$KAR" and "$MAR" 
outside of <shellscript> task.
you can see "echo" task outside shellscript task is not able to get the value of 
"KAR" and "MAR"
Can anyone give me an idea on how I can use "KAR" and "MAR" outside of 
shellscript task?

-----Original Message-----
From: David Weintraub <>
To: Ant Users List <>
Sent: Tue, Jul 14, 2009 11:20 pm
Subject: Re: Excute shell command

I could simply tell you to use the exec task:

<exec executable="/bin/bash"
    <arg line="echo $var | awk -F '{print $4}'"/>

However, there must be a better way to get this particular information:

You can use <property env="ENV"/>, and that would put the value of $var into
a property called "ENV.var". Now, to parse it a bit. That could be done with
resources and token filtering. See <> and <> for
more information.

If ${var} came from a file that you're now attempting to parse, it should be
fairly easy to setup a filter reader on a file, find the line, and pull out
the fourth value on that line. Oth
erwise, you'll be attempting to parse a
property, and that's a bit harder to setup.

On Tue, Jul 14, 2009 at 8:53 AM, <> wrote:

> Hi All,
> I am stuck to shell command execution in my build.xml file, I want to
> execute the following command from my build.xml file:
> KAR=`echo $var | awk -F. '{print $4}'`
> Can anyone help me out in this?
> Thanks in advance.

David Weintraub

  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message