【发布时间】:2015-01-09 18:40:21
【问题描述】:
我有一个脚本,我试图在其中运行一个将 Xcode 构建设置导出到会话上下文的 perl 脚本。但由于某种原因,当我运行以下脚本时,$BUILD_DIR 始终为空。但是当我从命令行运行相同的命令集时,它工作得非常好。我错过了什么吗?
#!/bin/sh
{
yes | ./perlScript.pl;
runPerl=`perl perlScript.pl`
eval $runPerl;
echo Build path is $BUILD_DIR;
}
echo all operations are done!
perl 脚本,作为参考
#!/usr/bin/perl
open(FH, "xcodebuild -project MyProj.xcodeproj -scheme MyScheme -showBuildSettings|");
while(<FH>) {
if (/\s*(\w+)\s*=\s*(.*)$/) { # Search for <key> = <value>
$key = $1; $value = $2;
print "export $key='$value'\n";
}
}
close(FH);
【问题讨论】:
-
调试通常有启发作用。
-
你的 Perl 脚本没有做任何你不能从
bash脚本本身做的事情。这里不需要eval,假设您实际使用的是bash,而不是其他与POSIX 兼容的shell。
标签: xcode bash perl shell unix