2011-09-01 96 views
6

试图运行如下贴在我的Xcode项目一个简单的脚本......

if [ -d '$HOME/data' ]; 
then 
    cd "$HOME/data/" 
    rsync -t *.plist '$SRCROOT/data/' 
fi 

exit 0 

脚本似乎如果我运行它的XCode外一切正常但在Xcode中运行时,我发现了以下错误......

line 2: SRCROOT: command not found 

似乎SRCROOT变量不是在脚本中检测到,但我的理解是,这是应通过环境变量之一,脚本可访问。任何想法?

回答

10

原来这是我的错。这个脚本实际上并没有被调用。在Xcode我指的是使用脚本的路径...

"./$(SRCROOT)/myScript.sh" 

它切换到...

"$SRCROOT/myScript.sh" 

更正问题,事实上,我现在可以访问来自我的脚本$ SRCROOT。

+0

这是否意味着如果您从NStask运行shell脚本,您可以从部署应用程序的机器上的shell脚本访问像$ PROJECT_FILE_PATH等变量?在bash中使用资源包变量会很好! –

+0

听起来好像很酷。不幸的是,我从未尝试过这样的事情。 –

+0

我遇到了同样的问题。当您在“运行脚本”文本区域的正下方添加“输入文件”时,默认路径名称为“$(SRCROOT)/ myfile”。但是根据这个答案你应该使用'$ SRCROOT'。 +1 – pkamb