Есть ли способ получить имя машины как свойство ant для Linux и ОС Windows.
Ant свойство имени машины
Ответ 1
В 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
<exec executable="hostname" outputproperty="computer.hostname"/>
будет работать с linux и windows
Ответ 3
Правильный способ найти имя хоста локального компьютера - это использовать Ant HostInfo
. Это будет работать на всех платформах и поддерживается на основе Ant.
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Ответ 4
Скопируйте значение для Unix в версию Windows. Затем вы можете использовать ${env.COMPUTERNAME}.
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
Ответ 5
Для этого вы можете использовать переменные среды $HOSTNAME (UNIX) и% COMPUTERNAME% (Windows). Вы можете проверить, была ли определена переменная среды HOSTNAME и, если нет, вы можете использовать переменную окружения COMPUTERNAME, если она определена. В качестве резервной копии вы можете использовать "неизвестный".
Ответ 6
Я бы написал пользовательскую задачу Ant.
Как только вы начнете писать свои собственные задачи, вы обнаружите, что Ant становится намного веселее и прост в использовании. Вам не нужны странные решения, которые трудно понять.
Как только задача будет записана, вы просто сделаете что-то вроде:
<my:hostname property"hostname" />