2012-12-20 15 views
8

के माध्यम से कई आदेशों मैं एक चींटी निर्माण स्क्रिप्ट के माध्यम से ऐसा करना चाहते हैं:भागो चींटी कार्यकारी

$ /bin/sh 
$ cd /path/to/executable 
$ ./executable.sh 

यह है कि मैं क्या करने की कोशिश की है, लेकिन मुझे लगता है कि यह केवल cd आदेश निष्पादित करता है:

<exec executable="/bin/sh" os="Mac OS X"> 
    <arg value="-c"/> 
    <arg value="cd /path/to/executable"/> 
    <arg value="./executable.sh"/> 
</exec> 

मैं मैक ओएस एक्स पर हूँ

उत्तर

14

-c के बाद केवल पहला तर्क खोल द्वारा चलाया जाता है, इसलिए आप जो व्यवहार देखते हैं। बस दो आदेशों को एक तर्क में विभाजित करें, अर्धविराम से अलग:

<exec executable="/bin/sh" os="Mac OS X"> 
    <arg value="-c"/> 
    <arg value="cd /path/to/executable; ./executable.sh"/> 
</exec> 
+1

यह पूरी तरह से काम करता है। आपका बहुत बहुत धन्यवाद! – Ohas

+0

यह अजीब बात है, जिसका अर्थ है कि हम मैक के लिए तर्क का उपयोग नहीं कर सकते हैं? क्या हमें -c args के बगल में एक ही पंक्ति में सभी आदेश देने की ज़रूरत है? –

+0

मैंने प्रत्येक आदेश को अपने स्वयं के निष्पादन टैग में चलाने के बजाय सुझाव दिया होगा। उनको परेशान करने वाली त्रुटियों की तरह उन्हें चेन करना। उनमें से एक को असफल होना चाहिए, आपको अपराधी की पहचान करने के लिए आवश्यक त्रुटि नहीं मिल सकती है। –