telnet giriş bilgilerinizi otomatik hale getirmek için bekliyoruz, senaryo için ince, günlükleri işleri cihaz.senaryo Bir bekliyoruz komutu için hiçbir birden olasılık varsa script otomatik telnet</p> <p>aracılığıyla benim Cihaza giriş bekliyoruz oluşturmaya çalışıyorlar
#!/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
komut yukarıdaki i doğru parametreleri geçmesi başarıyla zaman ince ve günlükleri çalışır. Ama ben beklemek komut için ek dalları (hata işleme için) ekledikten sonra, betik login:
isteminde sıkışır. Bir süre sonra Script Error yazdırır Herhangi bir yardım? Aşağıdaki hatalı komut dosyası.
#!/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
}
}
PS: Bu komut dosyası ayrıca cihazda farklı yapı görüntüleri yüklemek için ek sorular için beklemek geliştirilecek olmaktır. Sadece telnet (konsol) bağlantısı çalışır. ssh bir seçenek değil.
Oturum açtığınızda ek komutları nasıl geçtiğinizi nasıl paylaştığınıza dikkat etmelisiniz? Bu engelden geçemiyorum: http://stackoverflow.com/questions/11148832/shell-script-successful-telnet-login-how-to-issue-commands-after-t – TryTryAgain
Eğer hakkında konuşuyorsanız komut dosyasında otomatik olarak kabukta ek komutlar yürütmek. Gönder komutunu kullanman gerekiyor. etkileşim topu kullanıcıya aktarır. Gönderdiğim sorudan, zaten bir cevabınız olduğunu görüyorum. :) galibiyet için bekliyoruz .. – woodstok