2011-09-01 125 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