2011-05-26 15 views
5

मैं यह कर करना चाहते हैं:कैसे एक अजगर कोड के अंदर बैश चर का उपयोग करने के लिए?

import subprocess 
    subprocess.call(['var="foo_bar"'], shell=True) 
    subprocess.call(['echo $var'], shell=True) 

लेकिन जब मैं दूसरी पंक्ति में $ वर का उपयोग करेगा अपने मूल्य losted है।

किसी को पता है कुछ इस समस्या को हल करने के लिए कहते हैं? यह एक सरल उदाहरण है, लेकिन ऐसा करने की जरूरत है कि एक और अधिक जटिल कोड यहाँ ..

Tks ..

उत्तर

12

os.environ साथ वातावरण में मूल्य सम्मिलित करें।

os.environ['var'] = "foo_bar" 
subprocess.call(['echo $var'], shell=True) 
+0

बिल्कुल सही, मेरे समस्या यह tip..Tks साथ हल किया गया था .. – JonatasTeixeira

+0

इसके अलावा 'subprocess.Popen' और' subprocess.call' को 'env' पैरामीटर को देखो। –

0

आप नहीं कर सकते। आप वातावरण चर का उपयोग कर सकते हैं (os.environ), और आप निश्चित रूप से सब कुछ आप कमांड लाइन आर्ग (sys.argv) के रूप में पारित करने के लिए उपयोग कर सकते हैं, लेकिन पार्टी चर बैश चर और नहीं अजगर चर हैं। आप एक और तरीका है (शायद हम एक तरह से करता है, तो आप हमें बता वास्तव में क्या आप क्या करना चाहते का सुझाव सकता है) को खोजने के लिए होगा।

संबंधित मुद्दे