2012-08-23 15 views
5

के साथ पर्यावरण चर को विरासत में लेना मैं जीएनयू समांतर में पर्यावरण चर का उत्तराधिकारी बनाना चाहता हूं। मेरे पास कई 'स्क्रिप्ट' हैं (वास्तव में केवल जीएनयू समानांतर के साथ उपयोग के लिए डिज़ाइन किए गए कमांड की सूचियां) जिनमें सैकड़ों लाइनें हैं जो सभी अलग-अलग बाहरी कार्यक्रमों को कॉल करती हैं। हालांकि, इन बाहरी कार्यक्रम (मेरे नियंत्रण से बाहर) के लिए आवश्यक है कि कई पर्यावरण चर सेट किए जाने से पहले सेट हो जाएं।जीएनयू समांतर

उन्हें स्थानीय रूप से सेट करना/निर्यात करना प्रतीत नहीं होता है, और मुझे इस जानकारी को प्रोफ़ाइल में जोड़ने का कोई तरीका नहीं दिखता है।

प्रलेखन में ऐसा कुछ प्रतीत नहीं होता है, और इसी तरह के SO पृष्ठ एक स्क्रिप्ट में कमांड को लपेटने का सुझाव देते हैं। हालांकि, यह एक सुरुचिपूर्ण समाधान की तरह लगता है। क्या मौजूदा वातावरण को निर्यात करने का कोई तरीका है, या शायद एक स्क्रिप्ट में आवश्यक चर निर्दिष्ट करें?

धन्यवाद!

उत्तर

6

यह मेरे लिए काम करता है:

FOO="My brother's 12\" records" 
export FOO 
parallel echo 'FOO is "$FOO" Process id $$ Argument' ::: 1 2 3 

यह (ssh के माध्यम से) दूरस्थ कनेक्शन के लिए काम करने के लिए आप खोल विस्तार के लिए चर उद्धृत करने के लिए की जरूरत है। यदि उससे आपकी समस्या का समाधान नहीं करता

parallel -S server export FOO=$(parallel --shellquote ::: "$FOO")\;echo 'FOO is "$FOO" Process id $$ Argument' ::: 1 2 3 

, एक उदाहरण वह काम नहीं करता दिखा पर विचार करें: parallel --shellquote मदद कर सकते हैं कि है।

- संपादित करें -

--env पर देखो संस्करण में प्रस्तुत 20121022

- संपादित करें -

env_parallel पर देखो 20160322.

में पेश