【问题标题】:How do you access ant properties from within a shellscript task?如何从 shell 脚本任务中访问任何属性?
【发布时间】:2009-03-23 17:07:15
【问题描述】:

在 ant 中,您可以执行以下操作:

<property name="version" value="${some.fake.version}"

<shellscript shell="bash" dir="${build.dir}"> 
   echo "some shell cmds"
   df -h
   ls *
   svn export http://svn.org/somedir              
</shellscript>

好的,我知道,那个 shell 脚本没有做任何事情,但是我如何从那个 shellscript 中获取属性“版本”?

我知道您可以在 Java 脚本中执行上述所有操作,这比大多数用途都要好,但在实际脚本中,我正在执行大量 svn 命令,无论如何我都必须为此付出代价。

【问题讨论】:

    标签: ant shell


    【解决方案1】:

    根据shellscript documentation

    嵌入的 ant 属性将是 转换。

    所以你可以使用 ${variable} 表示法:

    <shellscript shell="bash" dir="${build.dir}"> 
       echo "Version: ${version}"
    </shellscript>
    

    【讨论】:

    • 那行得通。我首先尝试了同样的事情,但是我在另一个堆栈中有问题的变量上做了它,所以我没有看到值。谢谢。
    【解决方案2】:

    如果您不想自己编写,可以使用一些"official" SVN Ant Tasks

    否则,由于ShellScript 扩展了Exec,您可以使用参数。

    <shellscript shell="bash" dir="${build.dir}"> 
      <arg value="${someproperty}"/>
       echo $1
    </shellscript>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多