Selamlar;
////////////////////////////////////////////////////////////////////////////////
#!/bin/bash
# \
exec expect -f "$0" ${1+"$@"}
exp_version -exit 5.0
for {set i 0} {$i < 2} {incr i} {
catch {exec cat /home/www/telnetrouter | sed -n -e '$i'p} e
spawn telnet $e
expect "ogin:"
send "manager\r"
expect "assword:"
send "friend\r"
send "? [lindex $argv 0]\r"
send "lo [lindex $argv 2]\r"
interact
}
exit
////////////////////////////////////////////////////////////////////////////////
Yukarıdaki script ile /home/www/telnetrouter dosyasındaki ip adreslerinde bulunan router'lara telnet ile ulaşıp, kullanıcı adı ve passw lerini değiştirmek istiyorum. Ancak kırmızı ile işaretlediğim "i" değişkenini sed içerisinde bir türlü doğru şekilde yazamadım. i yerine 1,2,3... değerlerini verdiğimde script çalışıyor.
"i" değişkenini ne şekilde yazacağım belirten veya farklı bir yöntem öneren olursa sevinirim.
Saygılar.
Ertuğrul ERZIN
19 Temmuz 2005 Salı