如何在Xcode中将远程脚本作为构建阶段执行?

3

我有一个远程脚本,可以在命令行中轻松执行:

bash <(curl -sSL 'goo.gl/p1GPQw') 29165BE4-EA61-8228-9F33-A9B9DAD481A0 ./Info.plist

当我尝试将其作为iOS应用程序的构建阶段使用时(以更新构建号),问题就出现了。
错误日志:
/Users/pr.......: line 2: syntax error near unexpected token `('
/Users/pr.......: line 2: `bash <(curl -sSL 'goo.gl/p1GPQw') 7CD17FC7-E724-7240-34ED-927122733119 ./Info.plist'

所以问题是,通过Xcode执行你能做些什么限制或者是语法错误吗?
更新: 如果我将/bin/sh更改为/bin/bash,则可以正常工作...所以更新后的问题是,bash <(curl -sSL 'goo.gl/p1GPQw') 29165BE4-EA61-8228-9F33-A9B9DAD481A0 ./Info.plist的/bin/sh等效物是什么,因为让用户进行更改会增加其他可能导致整个过程出现问题的复杂性。
1个回答

1
我会尽力帮助您进行翻译。以下是需要翻译的内容:

为了便于再现,我试图简化问题:

这是1.sh脚本:

#!/usr/bin/bash
echo echo Hello World
echo echo Today : $(date)

在/bin/bash中运行时,它可以正常工作:

bash $ bash <(./1.sh)
Hello World
Today : Thu, Sep 22, 2016 2:32:19 AM
$

在/bin/sh中运行时,它会给出错误:
sh $ bash <(./1.sh)
sh: syntax error near unexpected token `('
sh $

但是,即使在/bin/sh中,以下内容也应该能正常工作:

sh $ bash -c "bash <(./1.sh)"
Hello World
Today : Thu, Sep 22, 2016 2:35:35 AM
sh $

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接