मैं अजगर में कमांड के साथ खोल कैसे खोल सकता हूं? - अजगर, लिनक्स, बैश, खोल

निम्न कमांड एक नया शेल खोलती है और इसमें नैनो को खोलती है, जब मैं इसे बैश में टाइप करता हूं:

gnome-terminal -e "bash -c "nano test; bash""

तो मैंने अपने पायथन कोड में इसकी कोशिश की subprocess:

import subprocess
command = "gnome-terminal"
args = " -e "bash -c "nano test; bash"""
subprocess.call([command, args])

मैंने पहले से ही कई संयोजनों की कोशिश की है। असल में मैं नैनो में एक विशिष्ट फ़ाइल के साथ एक खोल खोलना चाहता हूं।

सबसे पहले मैंने सोचा कि यह सबसे आसान होगाकदम, लेकिन यह बहुत मुश्किल हो गया। मास्किंग के कारण समस्या मौजूद नहीं है या अगर यह गुजरने वाले चर के साथ एक आम समस्या है, तो मुझे पता नहीं है कि मुझे गोले में उपयोग किया जाता है। तो यह AskUbuntu या यूनिक्स अनुभाग के लिए एक सवाल हो सकता है ... सुनिश्चित नहीं है ...

उत्तर:

उत्तर № 1 के लिए 1

कमांड लाइन पर आपके द्वारा उपयोग किए जाने वाले व्यक्तिगत स्ट्रिंग्स का एक ही सेट होना चाहिए। यदि आप एक ही बार में सूची बनाते हैं तो यह सोचना आसान है। gnome-terminal आदेश है, और यह दो तर्क लेता है। (दूसरा तर्क आमतौर पर इस तर्क के रूप में सोचा जाता है -e विकल्प, लेकिन कॉलर के नजरिए से, यह सिर्फ दो तर्क है। gnome-terminal स्वयं वह है जो उन्हें विकल्प / तर्क जोड़ी के रूप में एक साथ समूहित करता है।)

command = ["gnome-terminal", "-e", "bash -c "nano test; bash""]
subprocess.call(command)

(ध्यान दें कि आप केवल एक स्ट्रिंग पास कर सकते हैं और शेल को इसे छाँटने देते हैं, लेकिन स्पष्ट तर्क सूची बेहतर है।

subprocess.call("""gnome-terminal -e "bash -c "nano test; bash""""", shell=True)

)


संबंधित सवाल
सबसे लोकप्रिय