Hem Linux hem de Windows işletim sistemi için makine ismini ant mülkiyet olarak almanın bir yolu var mı?ant makine adı özelliği
cevap
Windows'ta, ana bilgisayar adı "COMPUTERNAME" ortam değişkeninde, Linux'ta ortam değişkeni "HOSTNAME" şeklindedir. karınca özellikler aşağıdaki gibi değişmez bir şey çalışması gerekir Çünkü:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
yani env öneki özellikler olarak çevreyi aktarın. Env.HOSTNAME değerini, env.HOSTNAME önceden ayarlanmadıkça env.COMPUTERNAME değeri olarak ayarlayın, bu durumda 2. satırın hiçbir etkisi olmaz. Bundan sonra, hostname'nin gerekli olduğu env.HOSTNAME öğesini kullanın.
Bunun için ortam değişkenlerini $ HOSTNAME (UNIX) ve% COMPUTERNAME% (Windows) kullanabilirsiniz. HOSTNAME ortam değişkeninin tanımlanıp tanımlanmadığını kontrol edebilirsiniz ve eğer değilse, tanımlandığı varsayılarak ortam değişkenini COMPUTERNAME kullanabilirsiniz. Bir geri dönüş olarak, "bilinmeyen" kullanabilirsiniz.
Unix'in değerini Windows sürümüne kopyalayın. Ardından $ {env.COMPUTERNAME} adresini kullanabilirsiniz.
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<exec executable="hostname" outputproperty="computer.hostname"/>
linux ve pencereler
Bunun daha güvenilir olduğunu düşünüyorum. BİLGİSAYARADI kullandığımızda, SOME makinelerinde, değerin muhafazası, makinenin isminin muhafazasıyla uyuşmuyordu. 'ana bilgisayar adı' şimdiye kadar her zaman eşleşti. – fnCzar
+1. Kabul edilen cevabı denedim ve başarısız oldu. Bu harika çalıştı. Teşekkürler! –
Aynı burada. Bu benim için de çalışıyor. Teşekkürler! – Curtis
Ben özel bir Ant görevi yazardı üzerinde çalışacak.
Kendi görevlerinizi yazmaya başladığınızda, Ant'in çok daha eğlenceli ve kullanımı kolay olduğunu göreceksiniz. Anlaması zor olan garip çözümlere ihtiyacınız yok. Görev sadece böyle bir şey yapacağını yazıldıktan sonra
: Yerel makinenin ana bilgisayar adını bulmak için doğru yolu
<my:hostname property"hostname" />
Ant'ın HostInfo
görevi kullanmaktır. Bu, tüm platformlarda çalışacak ve doğal olarak Ant tarafından desteklenecektir.
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
Bunun "doğru" yanıt olması gerektiği görünüyor, ancak bunu kullandığımda (en azından Debian Sid sistemimde), $ {host.NAME} ',' localhost' olarak ayarlandı. Rebse'un cevabı uyarınca 'hostname' çalmak istediğim gerçek ana bilgisayar adını döndürür. –
- 1. Celery AsyncResult ana makine adı almak
- 2. Sadece ana makine adı bir dize
- 3. Java'da Ana Makine Adı İçin IP Adresi?
- 4. Android ADB boş ana makine adı bağlamak
- 5. Ant.
- 6. Maven özelliği mevcut kullanıcı adı?
- 7. ANT
- 8. Ant
- 9. Ant
- 10. ANT
- 11. Ant
- 12. Ant.
- 13. ANT
- 14. Ant
- 15. Ant yol kavanozu kavanozlarına Ant
- 16. Hedef dosya Ant NetBeans projesinde
- 17. Android'de görünüm adı özelliği mi alıyorsunuz?
- 18. Ana makine adı/ip aracılığıyla RabbitMQ'ye bağlanma (NServiceBus kullanarak)
- 19. PHP ORA-01745: geçersiz ana makine/değişken değişken adı Uyarı
- 20. Finetuning FindBugs ant görev
- 21. yerel makine
- 22. Apache ANT
- 23. Bir kavanoza ant junit batchtest
- 24. Ant ve mevcut görev - bir şey yoksa ne olur?
- 25. Kod adı özelliği ile bir excel sayfasını nasıl alabilirsiniz "python"
- 26. Automapper eşleme özelliği beklenmedik şekilde kısmi özellik adı eşleşmesi eşleşmesi
- 27. mongo C# sürücüsüyle katıştırılmış dokümanda Id özelliği adı korunur
- 28. Açısal Gönderme İsteği için undefined özelliği 'kullanıcı adı' okunamıyor
- 29. Ant scp görevi çalışmıyor, ant üzerinde jsch ile bile
- 30. Ant: "main" java.lang.NoClassDefFoundError'da istisna: org/apache/araçlar/ant/launch/Launcher
güzel bir çözüm – Michael