有没有办法让机器名作为ant属性,用于Linux和Windows操作系统。
Answer 1:
在Windows上的主机名是在环境变量“计算机名”,在Linux环境变量是“主机名”。 由于蚂蚁性质是不可变的像下面应该工作:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
即导入环境与ENV前缀属性。 然后设置env.HOSTNAME是env.COMPUTERNAME的值,除非env.HOSTNAME已经被设置在这种情况下,2号线将没有任何效果。 之后在需要的主机名使用env.HOSTNAME。
Answer 2:
<exec executable="hostname" outputproperty="computer.hostname"/>
将Linux和Windows上工作
Answer 3:
找到本地机器的主机名的正确方法是使用Ant的HostInfo
的任务。 这将在所有平台上工作,并原生支持的蚂蚁。
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Answer 4:
对于Unix的值复制到Windows版本。 然后你可以使用$ {} env.COMPUTERNAME。
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
Answer 5:
你可以使用这个环境变量$主机名(UNIX)和%COMPUTERNAME%(Windows)中。 你可以检查,看看是否在环境变量HOSTNAME已被定义,如果没有,则可以使用环境变量COMPUTERNAME,假设它的定义。 作为备用,你可以使用“未知”。
Answer 6:
我会写一个自定义的Ant任务。
一旦你开始写你自己的任务,你会发现,蚂蚁得到更多的乐趣和易于使用。 你不必奇怪的解决方案是很难理解的。
一旦任务被写你只是这样做:
<my:hostname property"hostname" />
文章来源: ant machine name property