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