मैं एक स्क्रिप्ट स्वचालित रूप से टेलनेटउम्मीद स्क्रिप्ट टेलनेट लॉगिन
के माध्यम से अपने डिवाइस में प्रवेश करने की उम्मीद आदेश के लिए कोई एकाधिक संभावनाओं नहीं हैं, तो उम्मीद बनाने के लिए कोशिश कर रहे हैं स्वचालित करने के लिए, स्क्रिप्ट के में काम करता है ठीक, लॉग डिवाइस।
#!/usr/bin/expect
set timeout 20
set ip [lindex $argv 0]
set port [lindex $argv 1]
set user [lindex $argv 2]
set password [lindex $argv 3]
spawn telnet $ip $port
expect "'^]'." sleep .1;
send "\r";
sleep .1;
expect "login:"
send "$user\r"
expect "Password:"
send "$password\r";
interact
उपरोक्त स्क्रिप्ट ठीक काम करता है और जब मैं सही पैरामीटर पास करता हूं तो सफलतापूर्वक लॉग इन करता है। लेकिन एक बार जब मैं उम्मीद कमांड में अतिरिक्त शाखाएं (त्रुटि प्रबंधन के लिए) जोड़ता हूं, तो स्क्रिप्ट login:
प्रॉम्प्ट पर फंस जाती है। कुछ समय बाद यह Script Error कोई मदद करता है ?? नीचे त्रुटिपूर्ण लिपि।
#!/usr/bin/expect
set timeout 20
set ip [lindex $argv 0]
set port [lindex $argv 1]
set user [lindex $argv 2]
set password [lindex $argv 3]
spawn telnet $ip $port
expect "'^]'."
sleep .1;
send "\r";
expect
{
"login:"
{
send "$user\r"
expect "Password:"
send "$password\r";
interact
}
"host: Connection refused"
{
send_user "ERROR:EXITING!"
exit
}
}
पीएस: इस स्क्रिप्ट को डिवाइस पर विभिन्न बिल्ड छवियों को लोड करने के लिए अतिरिक्त संकेतों की प्रतीक्षा करने के लिए आगे विकसित किया जाना है। केवल टेलनेट (कंसोल) कनेक्शन काम करता है। तो एसएसएच एक विकल्प नहीं है।
साझा करने के लिए एक बार लॉग इन किए गए अतिरिक्त आदेशों को पारित करने के तरीके को साझा करने के लिए देखभाल करें? मैं उस बाधा को दूर करने में सक्षम नहीं हूं: http://stackoverflow.com/questions/11148832/shell-script- असफल-telnet-login-how-to-issue-commands-after-that – TryTryAgain
यदि आप इसके बारे में बात कर रहे हैं स्क्रिप्ट के माध्यम से स्वचालित रूप से खोल में अतिरिक्त आदेश निष्पादित करना। आपको प्रेषण आदेश का उपयोग करना चाहिए। इंटरैक्ट उपयोगकर्ता को गेंद पास करता है। आपके द्वारा पोस्ट किए गए प्रश्न से मैं देखता हूं कि आपको पहले से ही एक जवाब मिल गया है। :) जीत के लिए उम्मीद है .. – woodstok