[问题]ip-up

sh/bash/dash/ksh/zsh等Shell脚本
回复
731129zl
帖子: 25
注册时间: 2007-03-11 11:25

[问题]ip-up

#1

帖子 731129zl » 2008-05-11 21:33

#!/usr/bin/perl
#
# SmoothWall CGIs
#
# This code is distributed under the terms of the GPL
#
# (c) The SmoothWall Team
#
# $Id: ip-up,v 1.3.2.5 2007/08/25 11:12:17 gespinasse Exp $
#

use strict;
require '/var/ipcop/general-functions.pl';

&General::log("PPP has gone up on $ARGV[0]");
umask 022;

my %pppsettings;

# read vars back from file.
&General::readhash("${General::swroot}/ppp/settings", \%pppsettings);

if ( ( $pppsettings{'TYPE'} eq 'isdn') &&
( $pppsettings{'COMPORT'} eq 'isdn2') &&
( $pppsettings{'USEIBOD'} eq 'off') ) {
system('/usr/sbin/isdnctrl', 'dial', 'ippp1');
}

my $dns = $pppsettings{'DNS'};
my $primarydns = $pppsettings{'DNS1'};
my $secondarydns = $pppsettings{'DNS2'};
if ($dns eq 'Automatic') {
if (!($pppsettings{'TYPE'} =~ /^isdn/))
{
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $ENV{'DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $ENV{'DNS2'}; close FILE; }
}
else
{
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $ENV{'MS_DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $ENV{'MS_DNS2'}; close FILE; }
}
} else {
if (open(FILE, ">${General::swroot}/red/dns1")) { print FILE $pppsettings{'DNS1'}; close FILE; }
if (open(FILE, ">${General::swroot}/red/dns2")) { print FILE $pppsettings{'DNS2'}; close FILE; }
}

if (open(FILE, ">${General::swroot}/red/iface")) { print FILE $ARGV[0]; close (FILE); }
if (open(FILE, ">${General::swroot}/red/local-ipaddress")) { print FILE $ARGV[3]; close (FILE); }
if (open(FILE, ">${General::swroot}/red/remote-ipaddress")) { print FILE $ARGV[4]; close (FILE); }

system('/bin/touch', "${General::swroot}/red/active");
system('/etc/rc.d/rc.updatered');
/etc/rc.d/gnhostlinuxd start
# Beep when ppp goes up or down. Silence if 'nobeeps' file exists.
if ( ! -e "${General::swroot}/ppp/nobeeps") {
system "/bin/echo -en '\a' >/dev/console";
}


我想在脚本里添加动态域名解析命令/etc/rc.d/gnhostlinuxd不知道怎么添加,准备去买本SHELL书学习学习 :oops:
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

#2

帖子 bones7456 » 2008-05-12 12:05

你应该去买本 perl 书才对...
我也不懂perl,不过应该就是 system "xxxx" 这样了.
关注我的blog: ε==3
回复