蚂蚁机器名称属性

Dre*_*ejc 27 linux windows ant

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

Reb*_*bse 33

<exec executable="hostname" outputproperty="computer.hostname"/>
Run Code Online (Sandbox Code Playgroud)

将适用于Linux和Windows


mik*_*kej 31

在Windows上,主机名在环境变量"COMPUTERNAME"中,在Linux上,环境变量是"HOSTNAME".因为ant属性是不可变的,所以类似下面的东西应该工作:

<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
Run Code Online (Sandbox Code Playgroud)

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


Ada*_*kin 9

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

<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Run Code Online (Sandbox Code Playgroud)

  • 看起来这应该是"正确的"答案,但是当我使用它时(至少在我的Debian Sid系统上),`$ {host.NAME}`被设置为`localhost`.根据Rebse的答案运行`hostname`会返回我想要的实际主机名. (2认同)