Câu hỏi ant tên máy tài sản


Có cách nào để có được tên máy là tài sản kiến, cho cả Linux và Windows OS.


26
2017-07-28 21:57


gốc




Các câu trả lời:


Trên Windows tên máy chủ nằm trong biến môi trường "COMPUTERNAME", trên Linux, biến môi trường là "HOSTNAME". Bởi vì các thuộc tính ant là bất biến nên một số thứ như sau sẽ hoạt động:

<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>

nghĩa là nhập môi trường dưới dạng các thuộc tính có tiền tố là env. Sau đó đặt env.HOSTNAME là giá trị của env.COMPUTERNAME trừ khi env.HOSTNAME đã được đặt trong trường hợp đó dòng thứ hai sẽ không có hiệu lực. Sau đó sử dụng env.HOSTNAME nơi tên máy chủ được yêu cầu.


31
2017-07-28 22:05



cách giải quyết tốt đẹp - Michael


<exec executable="hostname" outputproperty="computer.hostname"/>

sẽ hoạt động trên linux và windows


33
2017-09-03 20:49



Tôi nghĩ điều này đáng tin cậy hơn. Quay lại khi chúng tôi đang sử dụng COMPUTERNAME, trên một số máy, vỏ của giá trị không khớp với vỏ của tên máy. 'tên máy chủ' cho đến nay luôn phù hợp. - fnCzar
+1. Tôi đã thử câu trả lời được chấp nhận và nó thất bại. Điều này làm việc tuyệt vời. Cảm ơn! - Don Branson
Tương tự ở đây. Điều này cũng phù hợp với tôi. Cảm ơn! - Curtis


Cách chính xác để tìm tên máy của máy cục bộ là sử dụng Ant HostInfo bài tập. Điều này sẽ làm việc trên tất cả các nền tảng và được hỗ trợ nguyên bản bởi Ant.

<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />

8
2018-04-08 16:06



Có vẻ như đây là câu trả lời "đúng", nhưng khi tôi sử dụng câu trả lời này (ít nhất, trên hệ thống Debian Sid của tôi), ${host.NAME} được đặt thành localhost. Đang chạy hostname theo câu trả lời của Rebse, trả lại tên máy chủ thực mà tôi muốn. - Paul Fenney


Sao chép giá trị cho Unix vào phiên bản Windows. Sau đó, bạn có thể sử dụng $ {env.COMPUTERNAME}.

<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>

3
2017-07-28 22:07





Bạn có thể sử dụng các biến môi trường $ HOSTNAME (UNIX) và% COMPUTERNAME% (Windows) cho việc này. Bạn có thể kiểm tra xem biến môi trường HOSTNAME đã được xác định chưa và, nếu không, bạn có thể sử dụng biến môi trường COMPUTERNAME, giả sử nó được định nghĩa. Là một dự phòng, bạn có thể sử dụng "không xác định".


2
2017-07-28 22:06





Tôi sẽ viết một nhiệm vụ Ant tùy chỉnh.

Một khi bạn bắt đầu viết các nhiệm vụ của riêng bạn, bạn sẽ thấy rằng Ant trở nên thú vị hơn và dễ sử dụng hơn. Bạn không cần những giải pháp kỳ lạ khó hiểu.

Một khi nhiệm vụ được viết, bạn sẽ chỉ làm một cái gì đó như:

<my:hostname property"hostname" />

-1
2018-04-08 08:56