C'è un modo per ottenere il nome della macchina come proprietà ant, sia per Linux che per Windows.proprietà nome macchina ant
risposta
Su Windows il nome host è nella variabile di ambiente "COMPUTERNAME", su Linux la variabile di ambiente è "HOSTNAME". Perché le proprietà formica sono qualcosa di immutabile, come il seguente dovrebbe funzionare:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
cioè importare l'ambiente come proprietà con prefisso env. Quindi imposta env.HOSTNAME come valore di env.COMPUTERNAME a meno che env.HOSTNAME sia già impostato, nel qual caso la seconda riga non avrà alcun effetto. Successivamente usa env.HOSTNAME dove è richiesto il nome host.
È possibile utilizzare le variabili di ambiente $ HOSTNAME (UNIX) e% COMPUTERNAME% (Windows) per questo. È possibile verificare se la variabile di ambiente HOSTNAME è stata definita e, in caso contrario, è possibile utilizzare la variabile di ambiente COMPUTERNAME, assumendo che sia definita. Come ripiego, puoi usare "sconosciuto".
Copia il valore di Unix nella versione di Windows. Quindi puoi usare $ {env.COMPUTERNAME}.
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<exec executable="hostname" outputproperty="computer.hostname"/>
funziona su Linux e Windows
Penso che questo sia più affidabile. Indietro quando stavamo usando COMPUTERNAME, su alcune macchine l'involucro del valore non corrispondeva al rivestimento del nome della macchina. 'hostname' ha finora sempre trovato una corrispondenza. – fnCzar
+1. Ho provato la risposta accettata e ha fallito. Questo ha funzionato alla grande. Grazie! –
Lo stesso qui. Funziona anche per me. Grazie! – Curtis
vorrei scrivere un compito Ant personalizzato.
Una volta che inizi a scrivere le tue attività, scoprirai che Ant diventa molto più divertente e facile da usare. Non hai bisogno di strane soluzioni difficili da capire.
volta che il compito è stato scritto si dovrebbe solo fare qualcosa di simile:
<my:hostname property"hostname" />
Il modo corretto per trovare il nome host della macchina locale, è quello di utilizzare il compito di Ant HostInfo
. Questo funzionerà su tutte le piattaforme ed è supportato nativamente da Ant.
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Sembra che questa dovrebbe essere la risposta "giusta", ma quando uso questo (almeno, sul mio sistema Debian Sid), '$ {host.NOME}' è impostato su 'localhost'. L'esecuzione di 'hostname' come da risposta di Rebse restituisce il nome host effettivo che voglio. –
- 1. Loop sulla proprietà in Ant
- 2. Ant sostituire gettone da file di proprietà
- 3. Ant, jvmarg, proprietà di sistema e preventivi
- 4. Maven antrun: passano proprietà Maven ad ANT
- 5. Percorsi assoluti nel file di proprietà Ant
- 6. Come personalizzare le proprietà a macchina
- 7. Ant: Converti il nome della classe nel percorso del file
- 8. Ant Ant Android
- 9. Cosa significa "**" in ANT?
- 10. Reflection - get nome proprietà
- 11. Proprietà predefinita senza nome
- 12. definire la proprietà ant dall'ambiente con il valore predefinito
- 13. Impostazione di una proprietà su cosa maven.compile.classpath contiene WITHOUT Ant
- 14. Sostituisci proprietà in un file xml usando ANT
- 15. Ant: vuoi avere una proprietà con una data/ora
- 16. Come verificare se una proprietà ha un valore in Ant
- 17. Come impostare una proprietà Ant solo se è disinserita
- 18. Utilizzo di Ant per unire due file di proprietà differenti
- 19. Modificare le proprietà del manuale utilizzando l'attività Ant
- 20. Ant: come fallire se la proprietà contiene una certa stringa
- 21. MAIUSCOLE, lettere minuscole, maiuscole in una proprietà Ant
- 22. .Net Get nome della proprietà
- 23. Nome evento di proprietà C#
- 24. La proprietà 'querySelector' non esiste sul tipo 'Nodo'. a macchina
- 25. Combinando la stenografia Proprietà parametro con destrutturazione a macchina
- 26. Proprietà modificabili antimutabili a
- 27. Errore Vagrant - Una macchina VirtualBox con il nome esiste già
- 28. Ottiene il nome di metodo di classe a macchina
- 29. Apache Ant inferiore a
- 30. ant scp failure
soluzione piacevole – Michael