perl script

Pavlos Parissis p_pavlos at freemail.gr
Wed Mar 26 01:03:03 EET 2003


Καλησπέρα,
Έχω φτιάξει ένα απλό perl script το οποίο προσθέτει την επιλογή 
"logging" στα ufs filesystems μέσα σε ένα solaris /etc/vfstab.
Αλλά κάποιο λόγο που έχω εδώ 2 ώρες που προσπαθώ δεν τον έχω βρει δεν 
δουλεύει.

###########################
use warnings;
use strict;

my $file;
my $lines;
my @fields;
my $temp_line;

$file="vfstab";

open (FOUT, ">$file.out");
open (FIN, "$file") or die "ATTENTION: The /etc/vfstab does not exists: 
$!\n";

foreach $lines (<FIN>){
    chop($lines);
    @fields = split /\s+/, $lines;
    print "$fields[3]\n";
    if ($fields[3] eq "ufs" and $fields[6] ne "logging"){
        if ($fields[6] eq "-"){
            $fields[6] = "logging";
        }
        else {
            $fields[6] = "$fields[6]". ",logging";
        }
    }   
   
    foreach $temp_line (@fields){
    print FOUT "$temp_line ";
    }
   
    print FOUT "\n";
}
close(FIN);
close(FOUT);
#system("/bin/cp $file\{,.bak\}");
#system("/bin/rm $file");
#system("/bin/mv $file.out $file");

###############################

το αρχείο vfstab έχει αυτά:

fd - /dev/fd fd - no -
/proc - /proc proc - no -
/dev/md/dsk/d2 - - swap - no -
/dev/md/dsk/d1 /dev/md/rdsk/d1 / ufs 1 no -
/dev/md/dsk/d3 /dev/md/rdsk/d3 /opt ufs 2 yes -
swap - /tmp tmpfs - yes size=512m

και όταν το τρέχω πέρνω

pparisis@:~/bin$ ./enable_logging_in_vfstab.pl
fd
proc
swap
ufs
ufs
tmpfs

Use of uninitialized value in string eq at ./enable_logging_in_vfstab.pl 
line 34, <FIN> line 7.

Αν καποίος ξέρει κάτι ας μου το πεί διότι η ώρα είναι περασμένη και δεν 
θέλω να πάω με νεύρα το πρώι στην δουλειά¨)))

Φιλικά,
Παύλος





More information about the Linux-greek-users mailing list