我有一个远程脚本,我可以从命令行执行而不会出现问题:
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,它可以工作......所以更新的问题是,{bin} sh等价于bash <(curl -sSL 'goo.gl/p1GPQw') 29165BE4-EA61-8228-9F33-A9B9DAD481A0 ./Info.plist
,因为用户更改这是另一个复杂的问题,可以使整个事情都横着走了。
答案 0 :(得分: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 $