如何在ant中获取自己的$ UID?
$ echo $UID # return my user ID
我想在一个ant构建文件中使用这些信息。一种解决方法是设置此变量明确:
ant some-target -DOWNER_UID=$UID
这样一来,在我的构建文件“$ {} OWNER_ID”是供使用。
有没有办法以“内部”方式在构建文件中获取此信息,而不需要传递$ UID作为参数?
不是一个跨平台的解决方案,但以下是可能在大多数的Unix环境下工作:
<exec executable="id" failonerror="true" outputproperty="uid">
<arg value="--user"/>
</exec>
<echo>uid: ${uid}</echo>
看起来很有希望,我会尽快尝试! – 2015-04-03 08:36:56
如果你在谈论蚂蚁访问一个环境变量($ UID),你可以这样做:
<property environment="env"/>
<echo>UID: ${env.UID}</echo>
请参阅Property task的文档。
在OP的env中,var是$ UID而不是$ OWNER_UID - 可能编辑以反映这种情况? – 2015-04-01 17:14:50
我想sudocode正在复制我的参数“OWNER_ID”,它确实不是一个env参数。 我想拥有s.th.像“env.UID”(从系统中获取$ UID),但至少在我的系统上,这个参数不解决(属性环境...设置)。 – 2015-04-02 07:26:08
感谢马丁,我更新以匹配环境变量名称。 Marcus,是执行Ant之前导出的环境变量吗? – sudocode 2015-04-08 08:15:48
UID是操作系统特定的属性。用户名会改好吗?如果是这样,它可用作以下java属性:$ {user.name} – 2015-04-03 06:03:29