Eric Pozharski -> [email protected] @ Sat, 24 Mar 2007 10:50:44 +0200:
EP> On Fri, Mar 23, 2007 at 09:21:11PM +0300, Artem Chuprina wrote: >> Peter Teslenko -> [email protected] @ Fri, 23 Mar 2007 >> 21:14:26 +0300: >> PT> Чем можно достучаться до модема из консоли при отсутствии cu и >> minicom'а? >> Перловым скриптом. Тикловым скриптом. В ограниченных пределах - даже >> cat. EP> Пан биэсдишник? Стыдитесь. (me это к тому, что надо тогда, хотя бы, в EP> perlopentut ткнуть). EP> 2OP: EP> === contents (/usr/local/sbin/do.dip) goes below === EP> #!/usr/bin/perl EP> use strict; EP> use warnings; EP> use Fcntl; EP> my $NL = "\015"; EP> my $LF = "\012"; EP> my $ttys = shift(@ARGV); EP> $ttys =~ m#.*/([^/]+)#; EP> my $lock = qq(/var/lock/LCK..$1); EP> sysopen(TTYLOCK, $lock, O_WRONLY | O_EXCL | O_CREAT) or EP> die qq(can't UUCP-lock $ttys: $!\n); EP> syswrite(TTYLOCK, sprintf(qq(%10s\n), $$)) or EP> die qq(can't fill UUCP-lock: $!\n); EP> close(TTYLOCK); EP> sysopen(TTYSI, $ttys, O_RDWR | O_NDELAY | O_NOCTTY) or EP> die "can't open $ttys (reading): $!\n"; EP> sysopen(TTYSO, $ttys, O_WRONLY | O_NDELAY | O_NOCTTY) or EP> die "can't open $ttys (writing): $!\n"; EP> #my $foo = select(TTYSO); $| = 1; select($foo); EP> while(@ARGV) { EP> print(TTYSO shift(@ARGV), $NL); EP> sleep(1); EP> #$/ = ''; EP> print(STDOUT <TTYSI>); EP> }; EP> close(TTYSO) or EP> die "can't close $ttys (writing): $!\n"; EP> close(TTYSI) or EP> die "can't close $ttys (reading): $!\n"; EP> unlink($lock); EP> exit; EP> === contents (/usr/local/sbin/do.dip) gone above === EP> === contents (/usr/local/sbin/do.dip /dev/ttyS0 'AT' 'ATI1' '') goes below === EP> AT EP> OK EP> ATI1 EP> 87D3 EP> OK EP> === contents (/usr/local/sbin/do.dip /dev/ttyS0 'AT' 'ATI1' '') gone above === EP> Скрипт тупой до безобразия, поэтому надо иногда (всегда?) добавлять EP> заглушку (терминатор!?) Это какой-то очень сложный скрипт. tcl был бы в этой роли куда проще. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: [EMAIL PROTECTED] Нужны две программы - одна с интерфейсом, а другая чтобы работу делала. Victor Wagner в <[EMAIL PROTECTED]> -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

