Anzeige:
Ergebnis 1 bis 5 von 5

Thema: [Perl] mehrere Probleme (Dateitestoperatoren, Shell-Skript Portierung)

Baum-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Registrierter Benutzer Avatar von ClausVB
    Registriert seit
    05.08.2005
    Ort
    NRW - Deutschland
    Beiträge
    106

    Question [Perl] mehrere Probleme (Dateitestoperatoren, Shell-Skript Portierung)

    Hallo!

    Ich möchte folgendes Shellskript
    Code:
    GKZ_DBPATH="$GKZ_HOMEDIR/webspace/databases"
    GKZ_BACKUPPATH="$GKZ_HOMEDIR/backup"
    
    # FOR-Schleife um alle Pfade anzulegen (plus Logfile)
    for thisdir in $GKZ_BACKUPPATH $GKZ_DBPATH; do
        if [ ! -d "$thisdir" ] ;then
            mkdir -p $thisdir
            echo Versuche Verzeichnis $thisdir anzulegen ... >> $GKZ_HOMEDIR/logfile_$GKZ_DOMAIN.txt
            if [ ! -d "$thisdir" ] ;then
                echo =\> FEHLGESCHLAGEN >> $GKZ_HOMEDIR/logfile_$GKZ_DOMAIN.txt
                exit 1
            else
                echo =\> erfolgreich >> $GKZ_HOMEDIR/logfile_$GKZ_DOMAIN.txt
            fi
        fi
    done
    nach Perl portieren.

    Dazu habe ich mir -[x] - Dateitestoperatoren für Dateien/Verzeichnisse durchgelesen.

    Nach ein bißchen probieren habe ich es mit
    Code:
    my $boolean = (-e $perl_datei) ? 1 : 0;
    hinbekommen, zu überprüfen, ob ein Verzeichnis existiert oder nicht.

    Der Perl-Befehl "mkdir" scheint aber im Gegensatz zum Linux-Befehl den Nachteil zu haben, dass es die Option "-p" nicht gibt.

    Meine Frage: Kann ich (z.B. mit "system()") den Linux-Befehl anwenden und mir irgendwie zurückgeben lassen, ob die Operation geklappt hat?

    Beispiel: exec "mkdir -p $thisdir";

    Alternativ könnte ich nach dem "system()" auch noch einmal überprüfen, ob das Verzeichnis angelegt wurde.

    Danke und Gruß
    Claus
    Geändert von ClausVB (19-04-2006 um 18:20 Uhr)

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •