寻找匹配的`''时出现意外的EOF [英] unexpected EOF while looking for matching `' '

查看:253
本文介绍了寻找匹配的`''时出现意外的EOF的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

#!/usr/bin/perl
use warnings;
while(1){
system ( "dialog --menu Customize 30 80 60 "
        . "'Show rules' 'Show all the current rules' "
        . "'Flush rules' 'Flush all the tables' "
    . "Allow IP' 'Block all except one IP' "
    . "'Block IP' 'Block all the packets from an IP' "
    . "'Block MAC' 'Block using the hardware address' "
        . "'Private networking' 'Allow only one network and block other networks' "
    . "'Allow lo' 'Allow local network interface' "
    . "'Save' 'Save customized rules' "
    . "'Exit' 'Close the program' "
        . "'more options' '........' 2> /tmp/customize.txt");

open FILE4, "/tmp/customize.txt" or die $!;
chomp(my $customize = <FILE4>);
        #SHOW RULES
                if($customize =~ /Show rules/){
        `iptables -nvL | tee /tmp/nvl.txt`;
                system ("dialog --textbox /tmp/nvl.txt 22 70");
                }
        #FLUSH RULES
        elsif($customize =~ /Flush rules/){
        `iptables -F`;
        system ("dialog --infobox 'All tables have been flushed.' 05 35");
        sleep 2;
        }
        #ALLOW IP
        elsif($customize =~ /Allow IP/){
        system ("dialog --inputbox 'Enter the IP address of the sysetm which you want to allow:' 15 40 2> /tmp/allowIP.txt");
        open FILE7, "/tmp/allowIP.txt" or die $!;
        chomp(my $aip = <FILE7>);
        `iptables -I INPUT -s $aip -j DROP`;
        system ("dialog --infobox 'IP address $aip is allowed and rest are blocked' 05 45");
        sleep 2;
        }
        #BLOCK IP
        elsif($customize =~ /Block IP/){
        system ("dialog --inputbox 'Enter the IP address of the system which you want to block:' 15 40 2> /tmp/blockIP.txt");
        open FILE5, "/tmp/blockIP.txt" or die $!;
        chomp(my $ip = <FILE5>);
        `iptables -A INPUT -s $ip -j DROP`;
        system ("dialog --infobox 'IP address $ip has been blocked!' 05 35");
        sleep 2;
        }
        #PRIVATE NETWORK    
        elsif($customize =~ /Private networking/){
        system ("dialog --inputbox 'Enter the network address which you want to allow (eg. 192.168.0.0/24)' 15 40 2> /tmp/network.txt");
        open FILE6, "/tmp/network.txt" or die $!;
        chomp(my $network = <FILE6>);
        `iptables -I INPUT -s $network -j ACCEPT`;
        system ("dialog --infobox 'Network $network is allowed and rest networks are blocked' 05 35");
        sleep 2;
        }
        #ALLOW LO
        elsif($customize =~ /Allow lo/){
        `iptables -I INPUT -i lo -j ACCEPT`;
        system ("dialog --infobox 'Local interface is allowed.' 05 35");
        sleep 2;
        }
        #SAVE
        elsif($customize =~ /Save/){
        `service iptables save`;
        system ("dialog --infobox 'All rules have been saved successfully' 05 45");
        sleep 2;
        }
        #EXIT
        elsif($customize =~ /Exit/){
        system ("dialog --infobox 'Closing application.' 05 35");
        sleep 2;
        exit 0;
        }
                else{
                        exit;
                }
}




perl file.plx

perl file.plx

错误

sh: -c: line 0: unexpected EOF while looking for matching `'' 
sh: -c: line 1: syntax error: unexpected end of file

如何解决此错误?

推荐答案

此处缺少'允许IP

这篇关于寻找匹配的`''时出现意外的EOF的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆