Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam!
Pisze sobie universalny skrypcik w perlu do wysylania karteczek winpopup no i natknalem sie w perlu na to ze chce wynik polecenia systemowego wpisacw zmienna ale co mi nie wychodzi:
$komp = `nmblookup -A "$ip" |grep -v "<GROUP>" | awk '($2 == "<00>") {print $1}' | tr -d 'n'` ; printf "$komp n" ;
zmienna ip jest zadeklarowana wczesniej, pod zmienna komp powinna byc nazwa kompa ktorego ip podalem w zmiennej ip.
Blad wykonania tego polecenia to:
awk: line 1: syntax error at or near ==
Co powinienem poprawic ?
Offline
pokaż więcej skryptu.
Deklaracje zmiennych
Offline
O to cały skrypt:
#!/usr/bin/perl if(@ARGV) { $ip = $ARGV[0] ; if ($ip =~ /(d+.d+.d+.d+)/) { printf "$1 n"; $tresc_popup = $ARGV[1] ; $komp = `nmblookup -A "$ip" |grep -v "<GROUP>" | awk '($2 == "<00>") {print $1}' | tr -d 'n'` ; printf "$komp n" ; system "echo "$tresc_popup" | smbclient -U "Maverick" -I "$ip" -M "$komp" " ; } } else { printf "Uruchom podając jako parametry ip i treśc wiadomości. n"; }
Co tu poprawić powinienem ?
Offline
sorry że nie na temat bo nie mam odp. niestety na twoje pytanie ale mam prośbe ze jak skonczysz skrypt i ci zadziała to mi go przeslij bo by sie takie cos przydalo : zygamen@interia.pl -> jesli oczywiscie to jest mozliwe
dzieki
Offline
Zamiast ($2 == "<00>")
wpisz
($2 -eq "<00>")
U mnie dziala ;))
Pozdrawiam
Offline
mnie poprawieniu tego co napisałeś przy samym uruchamianiu (nawet bez parametrów)
pokazuje się błąd:
Scalar found where operator expected at ./popup line 14, near ""echo "$tresc_popup"
(Missing operator before $tresc_popup?)
String found where operator expected at ./popup line 14, near "$tresc_popup" | smbclient -U ""
(Missing operator before " | smbclient -U "?)
Bareword found where operator expected at ./popup line 14, near "" | smbclient -U "mzegan"
(Missing operator before mzegan?)
String found where operator expected at ./popup line 14, near "mzegan" -I ""
Scalar found where operator expected at ./popup line 14, near "" -I "$ip"
(Missing operator before $ip?)
String found where operator expected at ./popup line 15, near """
(Might be a runaway multi-line "" string starting on line 14)
(Missing semicolon on previous line?)
Scalar found where operator expected at ./popup line 15, near ""$komp"
(Missing operator before $komp?)
String found where operator expected at ./popup line 15, near "$komp" ""
(Missing operator before " "?)
syntax error at ./popup line 14, near ""echo "$tresc_popup"
Execution of ./popup aborted due to compilation errors.
Jak wpisuje parametry to też jest kapa robie to tak:
skrypt IP TRESC
co robie ewentualnie źle?
Offline
Jako root wlaczasz ?:>
U mnie niby dziala ale wpisuje jkakies ciagi cyferek zamist nazwy kompa :(
Offline
u mnie dalej nie chodzi uruchomiłem jako root,
wywoluje to nastepująco (bo moze tu cos zle robie)
skrypt IP tresc
czy mają być jakieś pauzy albo co?
Offline
Zobacz tak :
system "echo $tresc_popup | smbclient -U Maverick -I $ip -M $komp" ;
Offline
Jak na razie sie wyklada na tej linijce
$komp = `nmblookup -A "$ip" |grep -v "<GROUP>" | awk '($2 eq "<00>") {print $1}' | tr -d 'n'` ;
wychodza z tego jakies ciagi ca ma wyjsc nazwa kompa :(
Offline
Ja sie tym zajme ale jak tylko bedzie to dzialalo w 100 % :)
Offline
Witam! Po dluzszej przerwie usiadlem do tego no i mam taki maly blad:
Tresc skryptu:
#!/usr/bin/perl if(@ARGV) { $ip = $ARGV[0] ; if ($ip =~ /(d+.d+.d+.d+)/) { printf "$1 n"; $komp = `nmblookup -A "$ip" |grep -v "<GROUP>" | awk '($2 -eq "<00>") {print $1}' | tr -d 'n'` ; printf "$komp n" ; } } else { printf "Uruchom podając jako parametry ip i treśc wiadomości. n"; }
Po uruchomieniu tego skryptu komenda perl netsend 192.168.0.10 mam taki wynik:
192.168.0.10
192,16800,1192,16800,1192,16800,1192,16800,1192,16800,1192,16800,1192,16800,1192,16800,1
A powinna sie pokazac nazwa kompa w sieci lokalnej o tym ip, co mma zle ?
Offline
Time (s) | Query |
---|---|
0.00010 | SET CHARSET latin2 |
0.00004 | SET NAMES latin2 |
0.00120 | SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.133.108.47' WHERE u.id=1 |
0.00124 | REPLACE INTO punbb_online (user_id, ident, logged) VALUES(1, '3.133.108.47', 1738314809) |
0.00073 | SELECT * FROM punbb_online WHERE logged<1738314509 |
0.00091 | SELECT topic_id FROM punbb_posts WHERE id=16936 |
0.00005 | SELECT id FROM punbb_posts WHERE topic_id=1975 ORDER BY posted |
0.00105 | SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=1975 AND t.moved_to IS NULL |
0.00005 | SELECT search_for, replace_with FROM punbb_censoring |
0.00294 | SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=1975 ORDER BY p.id LIMIT 0,25 |
0.00117 | UPDATE punbb_topics SET num_views=num_views+1 WHERE id=1975 |
Total query time: 0.00948 s |