2012-10-01 11 views
10

मैं एसएसएच के साथ रिमोट मशीन पर एक शेल स्क्रिप्ट चला सकता हूं। उदाहरण के लिए:क्या इसे भेजने के बिना रिमोट मशीन पर पाइथन स्क्रिप्ट चलाने का कोई तरीका है?

ssh -l foo 192.168.0.1 "`cat my_script.sh`" 

अब मैं .py फ़ाइल भेजने के बिना एक पायथन स्क्रिप्ट चलाने के लिए चाहता हूं। क्या कोई रास्ता है?

+0

आप स्पष्ट रूप से चलाने के लिए स्क्रिप्ट भेज रहे हैं। क्या आपका मतलब है "रिमोट मशीन पर फाइल कॉपी किए बिना"? –

+0

हां, मेरा मतलब है कि एक फाइल कॉपी किए बिना। – ibrahim

उत्तर

10

यह आपके कंप्यूटर पर my_script.py की सामग्री को एक दूरस्थ आदेश पर निष्पादित किया गया है जो रिमोट कंप्यूटर पर किया जाता है और पाइथन में पास हो जाता है।

ssh -l foo 192.168.0.1 "echo '`cat my_script.py`' | python" 

आप कमांड लाइन आर्ग जोड़ना चाहते हैं यह बहुत की तरह अजगर आदेश के बाद उन्हें डाल के रूप में सरल किया जाना चाहिए:

ssh -l foo 192.168.0.1 "echo '`cat my_script.py`' | python -testSwitch -arg 0" 

सुनिश्चित करें कि कमांड लाइन आर्ग के दोहरे उद्धरण चिह्नों के अंदर हैं वह आदेश जो आप दूरस्थ होस्ट को भेज रहे हैं।

+0

यह बिल्ली कमांड के डबल कोट्स को हटाने के बाद काम करता है। तो सही जवाब यह होगा: ssh -l foo 192.168.0.1 "echo" 'cat my_script.py' '| python" – ibrahim

+0

मेरे पास एक और बिंदु है! मैं इस पायथन लिपि में कमांड लाइन तर्क कैसे दे सकता हूं? – ibrahim

+1

यह आसान होना चाहिए, केवल पायथन कमांड के बाद तर्क डालें, मैं आपको एक उदाहरण दिखाने के लिए उत्तर संपादित करूंगा। –

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

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