2012-01-11 16 views
16

मेरे पास एक पर्ल स्क्रिप्ट है जिसके लिए एनएनवी वैरिएबल को विशिष्ट आउटपुट उदा। $ डिबग, $ वर्बोज़, $ आदि विकसितnohup VERBOSE = 1 perl script.pl

आमतौर पर मैं कमांड लाइन

$ VERBOSE=1 perl myperlscript.pl params 

मैं अब nohup का उपयोग कर उन्हें चलाना चाहते हैं से इन चलाते हैं। कमांड लाइन

$ nohup VERBOSE=1 perl myperlscript.pl params 

स्पष्ट रूप से सही नहीं है का उपयोग करते हुए ENV स्थापित करने के लिए प्रयास के रूप में {} वर्बोज़ & nohup को मैं संदेश मिल

nohup का कोई पैरामीटर के रूप में व्याख्या की है: आदेश चला करने में विफल रहा `वर्बोज़ = 1 ': ऐसी कोई फ़ाइल या निर्देशिका

यहां सही वाक्यविन्यास क्या है? मैं इसे एक लिनक्स बॉक्स पर चलाने की कोशिश कर रहा हूं।

उत्तर

31

nohup पर कॉल करने से पहले पर्यावरण चर सेट करें, और nohup exec() s (0 के साथ खुद को बदलता है) perl पर संरक्षित किया जाएगा।

$ VERBOSE=1 nohup perl myscript.pl params ... 
+0

धन्यवाद। खुद के बारे में सोचना चाहिए था। यह एक लंबा दिन था ... – bobox

1

कोशिश खोल स्क्रिप्ट में सभी आदेशों गठबंधन और इस तरह इसे चलाने के लिए: nohup /path/to/script.sh

या आप निर्यात इस्तेमाल कर सकते हैं: निर्यात वर्बोज़ = 1 और फिर: nohup पर्ल myperlscript.pl पैरामीटर

3

यह वास्तव में क्या env आदेश के लिए है:

$ env VAR1=VAL1 VAR2=VAL2 nohup perl myperlscript.pl params &