Linux dağıtımlarından herhangi birine “expect” paketi kurulumundan sonra yazdığınız scriptlere input olarak sizin yazacağınız girdileri otomatik olarak scripte yazdırabilirsiniz. Bu ne demek oluyor kısaca şöyle açıklayayım.
Öncelikle “expect” paketini kurduğunuzu varsayıyorum. (packet manager ile kurmakta sıkıntı yaşamassınız) Senaryomuz şöyle olsun ; Diyelimki dosya paylaşım sitelerinden dosya indirdiniz ve yeni bir dosya indirmeden önce beklemek istemiyorsunuz. Ya kalkacaksınız modeminizi aç/kapa yapacaksınız tabi dinamik bir ip adresiniz varsa ya da modemin web arayüzünü açacaksınız modemi oradan restart edeceksiniz ya da telnet/ssh ile login olup modemi bir şekilde baştan başlatacaksınız. Bu işlemi “expect” paketi yardımıyla tek bir script ile yapabilirsiniz.
Aşağıda telnet ile Airties bir modeme baglanarak modemi restart eden scripti ekliyorum. Bu scripti ihtiyaçlarınıza göre değiştirip komut satırından kullanıcı girdileri ile yaptığınız herhangi bir işlemi otomaik hale getirebilirsiniz.
#!/bin/bash

expect << EOF
set timeout 20
spawn telnet 192.168.1.1
expect "BusyBox on localhost login: "
send "root\r"
expect "Password: "
send "\r"
expect "*#"
send "reboot\r"
expect "*#"
send "exit"
exit
EOF
Hoşunuza gidecek başka bir senaryoya da uyarlayabilirsiniz. Mesela kendi sitenize aldıgınız reklamlara ipnizi değiştirerek tıklayan bir bota ne dersiniz 😉
Filed under
Linux
| Tags:
SSH Tunneling ile Güvenli Sörf »
Leave a comment ?
1 Comments.
Mehmet 25 Kasım 2010 at 17:53
Merhaba,
Dış scriptten alınan parametreyi send komutu ile başka bir scripte geçirme konusunda bir örnek verebilirmisiniz. Ya da böyle bir şey yapılabilir mi? Yani ;
send “./deneme.sh “$1” “$2″\r” Bu komut çalışmıyor.
send “./deneme.sh ali 15 “\r” Bu şekilde çalışıyor.
Çift tırnaktan mı yoksa parametre geçirmede mi problem var anlayamadım.
Cevapla	
Leave a Comment Cancel reply
NOTE - You can use these HTML tags and attributes:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>
NAME
EMAIL
Website URL
Bir dahaki sefere yorum yaptığımda kullanılmak üzere adımı, e-posta adresimi ve web site adresimi bu tarayıcıya kaydet.