⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wall.perl

📁 samba-3.0.22.tar.gz 编译smb服务器的源码
💻 PERL
字号:
#!/usr/local/bin/perl# #@(#) smb-wall.pl Description:#@(#) A perl script which allows you to announce whatever you choose to#@(#) every PC client currently connected to a Samba Server...#@(#) ...using "smbclient -M" message to winpopup service.#@(#) Default usage is to message every connected PC.#@(#) Alternate usage is to message every pc on the argument list.#@(#)  Hacked up by Keith Farrar <farrar@parc.xerox.com>## Cleanup and corrections by# Michal Jaegermann <michal@ellpspace.math.ualberta.ca># Message to send can be now also fed (quietly) from stdin; a pipe will do.#=============================================================================$smbstatus = "/usr/local/bin/smbstatus";$smbshout = "/usr/local/bin/smbclient -M";if (@ARGV) {    @clients = @ARGV;    undef @ARGV;}else {  # no clients specified explicitly    open(PCLIST, "$smbstatus |") || die "$smbstatus failed!.\n$!\n";    while(<PCLIST>) {	last if /^Locked files:/;	split(' ', $_, 6);        # do not accept this line if less then six fields        next unless $_[5];        # if you have A LOT of clients you may speed things up by        # checking pid - no need to look further if this pid was already        # seen;  left as an exercise :-)        $client = $_[4];	next unless $client =~ /^\w+\./;       # expect 'dot' in a client name	next if grep($_ eq $client, @clients); # we want this name once	push(@clients, $client);    }    close(PCLIST);}if (-t) {    print <<'EOT';Enter message for Samba clients of this host(terminated with single '.' or end of file):EOT    while (<>) {	last if /^\.$/;	push(@message, $_);    }}else { # keep quiet and read message from stdin    @message = <>;}foreach(@clients) {##    print "To $_:\n";    if (open(SENDMSG,"|$smbshout $_")) {	print SENDMSG @message;	close(SENDMSG);    }    else {	warn "Cannot notify $_ with $smbshout:\n$!\n";    }}exit 0;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -