LinuxおよびWindows OSの両方に対して、antのプロパティとしてマシン名を取得する方法はありますか。ant machine nameプロパティ
答えて
Windowsでは、ホスト名は環境変数 "COMPUTERNAME"にあり、Linuxでは環境変数は "HOSTNAME"です。 antのプロパティは不変なので、次のように動作します:
<property environment="env"/>
<property name="env.HOSTNAME" value="${env.COMPUTERNAME}"/>
<echo message="hostname = ${env.HOSTNAME}"/>
つまり、envという接頭辞付きのプロパティとして環境をインポートします。 env.HOSTNAMEが既に設定されている場合を除いて、env.HOSTNAMEをenv.COMPUTERNAMEの値に設定します。この場合、2行目は効果がありません。その後、ホスト名が必要なenv.HOSTNAMEを使用します。
これには、環境変数$ HOSTNAME(UNIX)と%COMPUTERNAME%(Windows)を使用できます。環境変数HOSTNAMEが定義されているかどうかを調べることができます。環境変数HOSTNAMEが定義されているかどうかを確認し、定義されていない場合は環境変数COMPUTERNAMEを使用できます。フォールバックとして、 "不明"を使用することができます。
Unixの値をWindows版にコピーします。 $ {env.COMPUTERNAME}を使用できます。
<property name="env.COMPUTERNAME" value="${env.HOSTNAME}"/>
<exec executable="hostname" outputproperty="computer.hostname"/>
私は、カスタムAntタスクを記述し、LinuxとWindows
上で動作します。
自分でタスクを作成し始めると、Antがはるかに楽しく使いやすくなります。理解しにくい奇妙な解決策は必要ありません。タスクは、あなただけのようなものだろう書かれたら
:ローカルマシンのホスト名を見つけるための正しい方法を
<my:hostname property"hostname" />
は、AntのHostInfo
タスクを使用することです。これはすべてのプラットフォームで動作し、Antによってネイティブにサポートされます。
<hostinfo prefix="host." />
<echo message="My hostname is '${host.NAME}'" />
これは "正しい"答えになるはずですが、これを(私のDebian Sidシステムでは)使用すると、 '$ {host.NAME}'は 'localhost'に設定されます。 Rebseの答えに従って 'hostname'を実行すると、私が望む実際のホスト名が返されます。 –
- 1. Elasticsearch CommonTerms Nameプロパティの説明
- 2. Antプロパティのファイルの条件付きプロパティ
- 3. <Antのcontribプロパティでregex
- 4. antでの動的プロパティ名
- 5. Ant:動的プロパティの参照
- 6. Nativescript Binding:プロパティ: 'name'が無効か存在しません。 SourceProperty: 'name'
- 7. Machine NameにIPHostEntry.HostNameをサブストリングすることは許可されていますか?
- 8. AntのプロパティをAntのリソースに変換するには?
- 9. jqueryオブジェクトの 'name'プロパティを変更する
- 10. ...プロパティ{name: "***"}が動作しない
- 11. BeanWrapperFieldExtractorのNameプロパティでの配列のマッピング
- 12. С#WinForms。コンポーネント内の "Name"プロパティの実装
- 13. schema.orgのnameプロパティとは何ですか?
- 14. 未定義のプロパティ:Illuminate \ Pagination \ LengthAwarePaginator :: $ name
- 15. "name"プロパティがWordPressで機能しない
- 16. プロパティ "getter object(DOMString name);"ドキュメントIDL内
- 17. antコマンドラインから-Dプロパティのリスト
- 18. WebApiサービスの[FromUri]プロパティでDataMemberのNameプロパティが無視される
- 19. ObjectListViewのローカライズEmpty Nameプロパティのために不可能なOLVColumnプロパティ
- 20. ANT
- 21. 1つのプロパティに複数のANTプロパティ(ファイルから)
- 22. Azure Machine Learning Experiment Creation
- 23. Slot Machine using methods
- 24. spark submit client machine
- 25. Scala machine learning toolbox
- 26. Linux&Virtual machine
- 27. docker-machine boot2docker rootパスワード
- 28. Azure Machine Learning Studioバックアップ
- 29. State Machine In Swift 3
- 30. Accord Machine Learning knn.decide indexOutOfRangeException
nice workaround – Michael