Versioner sammenlignet

Nøgle

  • Linjen blev tilføjet.
  • Denne linje blev fjernet.
  • Formatering blev ændret.

...

Dette er "grundscriptet, som søger for at logge ind, agere og logge ud - jeg er ikke 100% sikker på om sleeps faktisk er nødvendige....:

Advarsel

Husker man ikke at lave logout eller fejler scriptet inden, da man få output fra forrige run ved næste run, og i det hele taget lidt "underligheder" (ked af det)

Advarsel

Jeg oplever engang imellem ved brug af API at min box bare "dør" - eller at det tager længe før den vil æde en kommando igen...(ked af det)

Kodeblok
#!/usr/bin/expect
spawn telnet 10.0.0.110 10001
expect "'^]'."
send ">>Login 32010<<\r"
expect ">>Login Ok<<"
sleep .5;

......
......
......

sleep .5;
send ">>Logout<<\r"
expect ">>Logout Ok<<"
exit

...

Kodeblok
#!/usr/bin/expect
spawn telnet 10.0.0.110 10001
expect "'^]'."
send ">>Login 32010<<\r"
expect ">>Login Ok<<"
sleep .1;
send ">>Set 10604 0<<"
sleep .1;
send ">>Logout<<\r"
expect ">>Logout Ok<<"
exit


Error handling

Tip

November 2018 - Dette er en update til ovenstående, efter at have arbejde med scriptet - dette script har error handling og passende output.

Kodeblok
#!/usr/bin/expect
log_user 0
spawn telnet 10.0.0.110 10001
expect {
     "'^]'" { send ">>Login 32010<<\r"; }
     "refused" { catch {exp_close}; send_user "Connection refused\n";exp_wait; exit }
     "No route" { catch {exp_close}; send_user "No Route to host\n";exp_wait; exit }
     "eof" { catch {exp_close}; send_user "EOF\n";exp_wait; exit }
}
sleep .1;
send ">>Set 10604 1<<";
sleep .1;
send ">>Logout<<\r";
sleep .1;
close;
send_user "Success\n";
exit