shell - gnome terminal tabs open multiple ssh connections -


मेरे पास सर्वर की एक सूची वाला एक फ़ाइल है:

SERVERS.TXT: < पूर्व> 192.168.0.100 192.168.0.101 192.168.0.102

एक गनोम टर्मिनल स्क्रिप्ट से, मैं प्रत्येक सर्वर के लिए एक टैब के साथ एक नया टर्मिनल खोलना चाहता हूं। < P> यहां मैंने जो कोशिश की है:

  ग्नोम टर्मिनल --प्रफ़ाइल = टैबप्रोफाइल `सर्वर पढ़ें; Do echo "--tab -e 'ssh usr @ $ server'"; किया & lt; SERVERS.TXT`   

यहां त्रुटि है:

तर्कों को पार्स करने में विफल: "--command / -e" का तर्क मान्य आदेश नहीं है : मिलान करने से पहले मिलान समाप्त होने वाला पाठ 'के लिए मिला था' (पाठ '' एसएसएच '' था)

-e

  के बाद स्थान को हटाने की कोशिश की, टर्मिनल --प्रफ़ाइल = टैबप्रोफाइल `सर्वर पढ़ें; Do echo "--tab -e'ssh usr @ $ server '"; किया & lt; SERVERS.TXT`   

और मुझे एक समान त्रुटि मिलती है:

तर्कों को पार्स करने में विफल: "--command / -e" का तर्क नहीं है मान्य कमांड: 'मिलान करने के लिए मिलान करने से पहले पाठ समाप्त' के लिए मिला था ' (पाठ 'usr@192.168.0.100' '')

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

मैंने पाया इस सवाल के जवाब में ओ.पी. के जवाब के लिए खोज करते समय, लेकिन मेरा मुद्दा थोड़ा अलग था मुझे सर्वर की सूची पता है, वे एक फ़ाइल में नहीं हैं।

फिर भी, अन्य समाधान पोस्ट किए मेरे लिए काम नहीं किया, लेकिन निम्न स्क्रिप्ट काम करता है, और यह है कि मैं < कोड> "कमांड / -ए" एक वैध कमांड नहीं है " त्रुटि।

किसी भी आवश्यकता के अनुरूप स्क्रिप्ट बहुत आसान परिवर्तन होनी चाहिए:

  #! / बिन / श # # सर्वर में से प्रत्येक को टर्मिनल खोलें # # सर्वर की सूची LIST = "server1.info server2.info server3.info server4.info" cmdssh = `जो एसएसटी के लिए $ सूची में है शीर्षक = `ईको- n" $ {s} "| sed 's / ^ \ (। \) / \ U \ 1 /' 'आर्ग्स =" $ {आर्ग्स} - टैब - शीर्षक = \ "$ शीर्षक \ "--command = \" $ {cmdssh} $ {s} .com \ "" किया गया tmpfile = `mktemp` प्रतिध्वनि" गनोम-टर्मिनल $ {आर्ग्स} "& gt; $ tmpfile chmod 744 $ tmpfile। $ Tmpfile rm $ tmpfile   

अब बड़ा सवाल यह है कि यह एक फ़ाइल से चलने पर काम करता है, लेकिन स्क्रिप्ट के अंदर से नहीं। निश्चित रूप से, यह मुद्दा - command < / कोड> हिस्सा है, लेकिन जो भी मैंने कोशिश की थी, जब तक कि एक अस्थायी फ़ाइल को निर्यात नहीं किया गया।

Comments

Popular posts from this blog

excel vba - How to delete Solver(SOLVER.XLAM) code -

github - Teamcity & Git - PR merge builds - anyway to get HEAD commit hash? -

ios - Replace text in UITextView run slowly -