expect - how to use spawn command in TCL -


मैं निम्नलिखित कोड का उपयोग कर रहा हूं

  #! / Usr / bin / expect -f #! यूएसआर / बिन / अपेक्षित # पैकेजेस अपेक्षित करता है "हैलो वर्ल्ड" स्पॉन एसएसएच xyz@172.31.112.182 अपेक्षित- nocase "password:" "abc123 \ r" को "पूरा किया" भेजें " 

निष्पादन करते समय, यह त्रुटि फेंकता है

  हैलो वर्ल्ड अमान्य कमांड नाम "स्पॉन" को निष्पादित करते समय "spawn ssh xyz@172.31.112.182" (फ़ाइल "temp.tcl" लाइन 9)  

मेरे कोड में गलत क्या है

आपको मिली समस्या यह है कि जबकि यह Tcl में चल रहा है (मैं ट्रेस के उस प्रारूप को पहचानता हूं), उम्मीद पैकेज (जो spawn कमांड प्रदान करता है) किसी कारण से अनुपस्थित है पहली बात यह है कि अपेक्षित पैकेज के लिए आवश्यकता को असम्पटित करके यह सुनिश्चित करना है कि पैकेज की आवश्यकता लाइन यह आपके लिए अपनी समस्या को ठीक करने के लिए पर्याप्त हो सकता है, लेकिन यदि यह पैकेज उपलब्ध नहीं होने के बारे में शिकायत करेगा। यदि यह उपलब्ध नहीं है, तो इसका मतलब है कि यह बस स्थापित नहीं है, या यह पाया नहीं जा रहा है। पूर्व है ... ठीक करने के लिए स्पष्ट :-) उत्तरार्द्ध को इस तरह से एक लाइन लगाकर हल किया जाता है जो कि पैकेज की आवश्यकता होती है :

  lappend auto_path / full / path / to / expect / package / installation < / Code> 

ध्यान दें कि यदि आप tclsh प्रोग्राम के बजाय उम्मीद प्रोग्राम के साथ स्क्रिप्ट चलाते हैं, तो पैकेज की आवश्यकता होती है आपके लिए स्वचालित रूप से किया जाएगा आप स्पष्ट रूप से ऐसा नहीं कर रहे हैं ...


Comments