क्या कोई एरलांग कॉल है जहां मैं Retval = subprocess:call(["cmd", "arg1", "arg2", "arg3"])
कर सकता हूं?क्या कोई एरलांग ओएस है: cmd समकक्ष जो एक कमांड के बजाय तारों की एक सूची लेता है?
यदि मैं निष्पादित करने के लिए एक जटिल कमांड का निर्माण कर रहा हूं, ओएस: cmd/1 के साथ यह गलतियों से बचने में आसान है। पाइथन की subprocess.call() विधि की तुलना करें जहां मैं स्ट्रिंग्स की एक सूची में पास करता हूं और जानता हूं कि यह सबप्रोसेस को शब्दशः पारित किया गया है, कुछ भी उलझन में नहीं है।
धन्यवाद।
यह समस्या का समाधान नहीं करता है, जो कि ओएस को दिया गया स्ट्रिंग है: cmd/1 को एक खोल द्वारा संसाधित किया जाएगा। यह चीजों को सिस्टम-निर्भर तरीके से विस्तारित करेगा। उदाहरण के लिए, ओएस: cmd ("echo 'हैलो'") एकल उद्धरण के बिना हैलो को echo कमांड को पास करेगा। इस तरह की चीज को सही तरीके से प्राप्त करना मुश्किल है ताकि प्रोग्राम को एर्लंग पक्ष पर आपके समान तर्क तर्क मिल जाए। आपको बिना किसी शेल के प्रोग्राम को चलाने के लिए एक माध्यम की जरूरत है। – RichardC