gpt4 book ai didi

bash - 如何在 ant 中编写多个 exec 参数

转载 作者:行者123 更新时间:2023-12-01 22:35:31 27 4
gpt4 key购买 nike

我想写一个 ant 脚本来

  1. 启动一个新终端
  2. 更改用户
  3. 并运行 Appium session

这是我目前所拥有的,但它没有做任何事情

    <exec executable="/bin/bash" os="${os.unix}" spawn="true">
<arg value="-c" />
<arg value="gnome-terminal su appium" />
<arg value="appium &amp;" />
</exec>

最佳答案

${os.unix} 属性的值是多少? ?如果您要使用 os参数,通常给它一个字符串常量而不是属性值。

<exec executable="/bin/bash" os="unix" spawn="true">
<arg value="-c" />
<arg value="gnome-terminal su appium" />
<arg value="appium &amp;" />
</exec>

这样,你可以得到一个 <exec>所有 Unix 风格操作系统的任务,以及另一个 <exec>所有其他 (Windows) 的任务。

同时了解<arg value="..."/>之间的区别和 <arg line="..."/> .我不知道 gnome-terminal 的确切命令结构,但是当您将某些内容作为 value 传递时,您将它作为单个参数传递——即使其中有空格。例如:

<exec executable="foo">
<arg value="-f foo -b bar"/>
</exec>

会像我在命令行中输入的那样执行:

$ foo "-f foo -b bar"   # This is one command with one parameter. Note the quotation marks!

如果我这样做:

<exec executable="foo">
<arg line="-f foo -b bar"/>
</exec>

会像我在命令行中输入的那样执行:

$ foo -f foo -b bar # 这是一个有四个参数的命令

这等同于上面的 Ant 任务:

<exec executable="foo">
<arg value="-f"/>
<arg value="foo"/>
<arg value="-b"/>
<arg value="bar"/>
</exec>

目前,您正在尝试执行:

$/bin/bash -c "gnome-terminal su appium""appium &"

如果这是你想要的,那很好。顺便说一句,您可以跳过 Unix 上的整个/bin/bash 内容:

<exec executable="gnome-terminal" os="unix" spawn="true">
<arg value="su appium"/>
<arg value="appium &amp;"/>
</exec>

关于bash - 如何在 ant 中编写多个 exec 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24089290/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com