Stranica: 1/1.

[RIJEŠENO] Expect skripta ne radi

PostPostano: 25 srp 2016, 16:23
Postao/la Deny_2016
Poštovanje,

Ako neko može da mi pomogne sa ovom skriptom jer i nisam neki Linux user.Znači skroz jednostavna skriptica da udjem na Cisco ruter i pokrenem jednu običnu komandu,na sličnom bi principu to prilagodio config modi i ostalim komanda ali nikako da udjem na ruter.Gdje griješim?


1.U Pico editoru uradio slijedeće i spasio u file testscript.exp

Kod: Označi sve
#!/usr/bin/expect

set username elio
set password hgkjtjwowq
set host 172.16.12.254

spawn telnet $host
expect "login:"
send "$username\r"
expect "Password:"
send "$password\r"
expect "Nexus1#"
send "sh ip int br\r"
expect "Nexus1#"
send "exi\r"
expect eof

-------------------------------------------------------------------------------------------------------------
2.Napravio file da je executable što se vidi iz slijedeceg:

Kod: Označi sve
elio@mabu-199:~$ ls -l
total 76

-rwxrwxrwx 1 elio elio   270 Jul 25 16:07 testscript.exp


--------------------------------------------------------------------------------------------------------------

2.Pogledao gdje je locirana skripta

Kod: Označi sve
akahric@tolkien-199:~$ whereis expect
expect: /usr/bin/expect /usr/bin/X11/expect /usr/share/man/man1/expect.1.gz


--------------------------------------------------------------------------------------------------------------

3.Pokrenuo skriptu ovako:
Kod: Označi sve
elio@mabu-199:~$ ./testscript.exp


Kod: Označi sve
./testscript.exp: line 8: spawn: command not found
couldn't read file "login:": no such file or directory
./testscript.exp: line 10: send: command not found
couldn't read file "Password:": no such file or directory
./testscript.exp: line 12: send: command not found
couldn't read file "Nexus1#": no such file or directory
./testscript.exp: line 14: send: command not found
couldn't read file "Nexus1#": no such file or directory
./testscript.exp: line 16: send: command not found
couldn't read file "eof": no such file or directo


Bio bih veoma zahvalan ako mi neko pomogne da rjesim problem,hvala unaprijed.
EDIT by Vl@do. Ubuduće te molim da kodove stavljaš u code tagove :-)

Re: Expect skripta ne radi

PostPostano: 25 srp 2016, 17:57
Postao/la jurastublic
Vlado, onaj #!/usr/bin/expect isto ide u "code tag".
I mislim da u tome i je problem. Ta linija #!/usr/bin/expect mora obavezno biti u prvom redu i prvoj koloni, znači na samom početku skripte. Ako slučajno staviš jedan razmak ili novu liniju, sustav više neće znati koji program da pokrene pa pretpostavlja da su ono dolje shell naredbe i datoteke umjesto naredbi expect jezika i zato izbacuje sve one greške.
Samo to popravi i bit će OK.
BTW, ako hoćeš biti siguran koja točno naredba od tih expect pathova se izvršava, upišeš:
Kod: Označi sve
which expect

Re: Expect skripta ne radi

PostPostano: 25 srp 2016, 18:26
Postao/la Deny_2016
Jura pa ti si kralj,jedna sitnica me toliko zezala,bazirano na ovome i tcl skriptama koje već furam moj network engineering life će biti easier.Samo sam pomakao u prvi red što si rekao. HVALA PUNO:!!!

Re: Expect skripta ne radi

PostPostano: 25 srp 2016, 18:35
Postao/la jurastublic
Mislim da sam Napoleon al nema veze sad. :)
Taj #! je zanimljiv zato što je to u stvari ASCII vrijednost HEX 2321 ili DEC 3533, što je tzv. "magični broj" koji se nalazi na početku datoteke i govori sustavu koji je to tip datoteke - u ovom slučaju skripta praćena pathom do interpretera. To je razlog zašto mora obavezno biti na samom početku.
Možeš pogledati ovo: https://en.wikipedia.org/wiki/Magic_number_(programming)#Magic_numbers_in_files

Re: Expect skripta ne radi

PostPostano: 25 srp 2016, 18:45
Postao/la calisto053
jurastublic je napisao/la:Mislim da sam Napoleon al nema veze sad. :)

Kralju ::bravo

Taj #! je zanimljiv zato što je to u stvari ASCII vrijednost HEX 2321 ili DEC 3533, što je tzv. "magični broj" koji se nalazi na početku datoteke

Shebang

Re: [RIJEŠENO] Expect skripta ne radi

PostPostano: 25 srp 2016, 19:00
Postao/la Vl@do
Dodano na popis riješenih tema.

Re: Expect skripta ne radi

PostPostano: 25 srp 2016, 21:25
Postao/la bertone
jurastublic je napisao/la:Mislim da sam Napoleon al nema veze sad. :)

A ja sam godinama bio uvjeren da je Napolenon bio car, kad ono ispadne bio je kralj :-D

Re: [RIJEŠENO] Expect skripta ne radi

PostPostano: 25 srp 2016, 22:03
Postao/la calisto053
:hihi

slika

Re: [RIJEŠENO] Expect skripta ne radi

PostPostano: 25 srp 2016, 22:14
Postao/la iweb
To što ste vas dvojica ošli na more ne znači da smijete oftopičariti :bleh pface