Expect

Allikas: Imre kasutab arvutit
Mine navigeerimisribaleMine otsikasti

Sissejuhatus

TODO

Tarkvara paigaldamine

# apt-get install expect

Kasutamine

Sudo

Kasutaja peab ise otsustama, kas selline nö automatiseerimine on õigustatud

$ cat sudo.exp 
#!/usr/bin/expect 
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name) 
} WINCH

spawn ssh -t -q priit@loomaaed.tartu.ee "sudo -i"
expect "password for priit:"
send "sudoparool\r"
interact

kus

  • -t - tekitab tty
  • -q - quiet
  • oodatakse järgnevust 'password for priit:"
  • vastatakse sudoparool + reavahetus
  • interact - jätkub interaktiivne kasutus

Sama, kasutades käsureal argumente

$ cat sudo.exp 
#!/usr/bin/expect
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name) 
} WINCH

spawn ssh -t -q [lindex $argv 0]@[lindex $argv 1] "sudo -i"
expect "password for [lindex $argv 0]:"
send "sudoparool\r"
interact

ning kasutamiseks öelda

$ ./sudo.exp priit loomaaed.tartu.ee
spawn ssh -t -q priit@loomaaed.tartu.ee sudo -i
[sudo] password for priit: 
root@loomaaed:~#

Su

Sarnaselt Sudole, kasutades käsurealt argumente

$ cat su.exp
#!/usr/bin/expect
trap {
 set rows [stty rows]
 set cols [stty columns]
 stty rows $rows columns $cols < $spawn_out(slave,name) 
} WINCH

spawn ssh -t -q [lindex $argv 0]@[lindex $argv 1] "su -"
expect "Password:"
send "suparool\r"
interact

kasutamiseks öelda

$ ./su.exp priit loomaaed.tartu.ee

Kasulikud lisamaterjalid

  • TOD=