蚂蚁机器名称属性

时间:2009-07-28 21:58:00

标签: windows linux ant

对于Linux和Windows操作系统,是否有办法将机器名称作为ant属性。

6 个答案:

答案 0 :(得分:33)

<exec executable="hostname" outputproperty="computer.hostname"/>

将适用于linux和windows

答案 1 :(得分:31)

在Windows上,主机名位于环境变量“COMPUTERNAME”中,在Linux上,环境变量为“HOSTNAME”。因为ant属性是不可变的,所以类似下面的东西应该起作用:

<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>

即。将环境导入为以env为前缀的属性。然后将env.HOSTNAME设置为env.COMPUTERNAME的值,除非已经设置了env.HOSTNAME,在这种情况下第二行将不起作用。之后使用env.HOSTNAME,其中需要主机名。

答案 2 :(得分:8)

查找本地计算机主机名的正确方法是使用Ant的HostInfo任务。这将适用于所有平台,并由Ant本身支持。

<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />

答案 3 :(得分:3)

将Unix的值复制到Windows版本中。然后你可以使用$ {env.COMPUTERNAME}。

<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>

答案 4 :(得分:2)

您可以使用环境变量$ HOSTNAME(UNIX)和%COMPUTERNAME%(Windows)。您可以检查是否已定义环境变量HOSTNAME,如果没有,则可以使用环境变量COMPUTERNAME(假设已定义)。作为后备,您可以使用“未知”。

答案 5 :(得分:-1)

我会编写一个自定义Ant任务。

一旦你开始编写自己的任务,你会发现Ant变得更有趣,更容易使用。您不需要难以理解的奇怪解决方案。

编写任务后,您可以执行以下操作:

<my:hostname property"hostname" />