Anzeige:
Ergebnis 1 bis 5 von 5

Thema: Perl system() mit Parametern

  1. #1
    Registrierter Benutzer
    Registriert seit
    20.01.2002
    Ort
    Z
    Beiträge
    8

    Perl system() mit Parametern

    Salut,

    ich habe hier ein Problem vom dem system()-Aufruf bei der Übergabe von Parametern. Folgendes einfache Skript:

    Code:
    #!/usr/bin/perl
    
    my @args = ("scp",
                "-i",
                "/skripte/id_dsa",
                "dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz",
                "/lvm-caebackup/Wikibackup");
    
    system ( @args ) == 0 or die "system @args failed: $?";
    Rufe ich dieses auf, dann bleibt das Programm hängen und gibt den failed-Wert 256 zurück.

    Ich habe schon den Aufruf innerhalb einer Zeile probiert:

    Code:
    system ('"scp -i /skripte/id_dsa dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz /lvm-caebackup/Wikibackup"');
    und komme dennoch nicht weiter.

    Beim Aufruf direkt auf der Kommandozeile funktioniert alles tadellos. Wer hat eine Idee?

    Grüße, e2e4
    ~ Ô¿Ô ~ Wenn danach Dein System nicht funktioniert, dann sichere es das nächste mal, bevor Du auf Leute wie mich hörst ... ~ Ô¿Ô ~

  2. #2
    Registrierter Benutzer
    Registriert seit
    05.05.2004
    Beiträge
    212
    warum schreibst du das so
    Code:
    system ('"scp -i /skripte/id_dsa dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz /lvm-caebackup/Wikibackup"');
    und nicht so
    Code:
    system ("scp -i /skripte/id_dsa dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz /lvm-caebackup/Wikibackup");
    oder sehe ich das falsch?

    cu SHB

  3. #3
    Registrierter Benutzer
    Registriert seit
    20.01.2002
    Ort
    Z
    Beiträge
    8
    Salut,

    Dir geht es sicherlich um die hinzugefügten ' ' - Zeichen. Diese Variante hatte ich auch zuerst (ohne Erfolg), bis ich folgendes gefunden habe:

    http://forum.perl.de/bb/viewtopic.php?t=3529

    Eine Erklärung dafür konnte ich aber bisher noch nicht finden.

    Grüße, e2e4
    ~ Ô¿Ô ~ Wenn danach Dein System nicht funktioniert, dann sichere es das nächste mal, bevor Du auf Leute wie mich hörst ... ~ Ô¿Ô ~

  4. #4
    Registrierter Benutzer
    Registriert seit
    19.08.2004
    Beiträge
    404
    So ganz spontan würde ich mal behaupten, beide Probleme sind auf das unmaskierte @ zurückzuführen...

    Code:
    my @args = ("scp",
                "-i",
                "/skripte/id_dsa",
                "dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz",
                "/lvm-caebackup/Wikibackup");
    und
    Code:
    system ("scp -i /skripte/id_dsa dateikopierer@192.168.7.6:/backup/wikikonfigbackup-31.01.2006.tar.gz /lvm-caebackup/Wikibackup");
    Wenn Du "" benutzt, werden alle enthaltenen Skalare, Arrays und hashes interpoliert. Du musst entweder das @ maskieren -> \@ oder das Ganze in Single Quotes setzen '

  5. #5
    Registrierter Benutzer
    Registriert seit
    20.01.2002
    Ort
    Z
    Beiträge
    8

    Thumbs up

    So ganz spontan würde ich mal behaupten, beide Probleme sind auf das unmaskierte @ zurückzuführen...
    Top! Das war die Lösung, Danke!
    ~ Ô¿Ô ~ Wenn danach Dein System nicht funktioniert, dann sichere es das nächste mal, bevor Du auf Leute wie mich hörst ... ~ Ô¿Ô ~

Lesezeichen

Berechtigungen

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