2011-09-01 9 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 से एक शैल स्क्रिप्ट चलाते हैं, तो आप तैनात ऐप की मशीन पर अपनी खोल स्क्रिप्ट से $ PROJECT_FILE_PATH, आदि जैसे चरों तक पहुंच सकते हैं? बैश में संसाधन बंडल चर का उपयोग करना बहुत अच्छा होगा! –

+0

ऐसा लगता है जैसे यह बहुत अच्छा होगा। दुर्भाग्य से मैंने कभी ऐसा कुछ नहीं किया है। –

+0

मैंने इस मुद्दे को मारा। जब आप रन स्क्रिप्ट टेक्स्ट क्षेत्र के नीचे सीधे "इनपुट फ़ाइल" जोड़ते हैं, तो डिफ़ॉल्ट पथ नाम '$ (SRCROOT)/myfile' है। लेकिन इस जवाब के अनुसार आपको '$ SRCROOT' का उपयोग करना चाहिए। +1 – pkamb