Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Skript bei fehler abbrechen

  1. #1
    Registrierter Benutzer
    Registriert seit
    05.03.2001
    Ort
    Niederösterreich
    Beiträge
    7

    Skript bei fehler abbrechen

    Hallo!
    Ich bin beim Skript-Programmieren noch ein großer Anfänger (mit wenig Unterlagen), und suche einen Befehl, der das Skript abbricht wenn ein Fehler auftritt.

    zB.:
    #!/bin/sh
    ls -la
    cp DATEIGIEBTESNICHT /home/ # Datei od Verz nicht gefunden
    mv /home/DATEIGIEBTESNICHT user/ # Soll nicht mehr ausgeführt werden

    mfg Jack
    Workstation: AMD TB 1,33GHz; 512MB DDR-Ram; ATI Radeon 8500 GL; 100Mb LAN; SuSE 8.0
    Server: Cyrix 133MHz; 64MB SRam; ATI Mach 64 VT; intern 100Mb LAN; extern 11Mb WaveLAN; SuSE 8.0
    Laptop: Sony VAIO PCG-R600MX; Intel celeron 800MHz; 128Mb DDR-Ram; 100Mb LAN mit PXE-Rom
    HiFi: <Under Construction>

  2. #2
    Registrierter Benutzer
    Registriert seit
    30.12.2001
    Beiträge
    444
    Hi Jack,

    Code:
    #!/bin/bash
    if cp XYZ dorthin
    then echo kopieren erfolgreich!
           mv dasda hierhin
    else echo kopieren fehlgeschlagen!
    fi
    gut Bash-Doku gibt's bei www.linuxfibel.de oder bei www.prolinux.de oder bei www.64-bit.de

    Für die allerersten Stolperfallen tut's die Shellscript-FAQ im FAQ-Bereich hier.

    Gruß
    Tobias

  3. #3
    Registrierter Benutzer
    Registriert seit
    05.03.2001
    Ort
    Niederösterreich
    Beiträge
    7
    Danke schön!

    cu Jack
    Workstation: AMD TB 1,33GHz; 512MB DDR-Ram; ATI Radeon 8500 GL; 100Mb LAN; SuSE 8.0
    Server: Cyrix 133MHz; 64MB SRam; ATI Mach 64 VT; intern 100Mb LAN; extern 11Mb WaveLAN; SuSE 8.0
    Laptop: Sony VAIO PCG-R600MX; Intel celeron 800MHz; 128Mb DDR-Ram; 100Mb LAN mit PXE-Rom
    HiFi: <Under Construction>

  4. #4
    Registrierter Benutzer
    Registriert seit
    20.10.1999
    Ort
    Dresden
    Beiträge
    255
    cp DATEIGIEBTESNICHT /home/ 2>/dev/null && mv /home/DATEIGIEBTESNICHT user/

    So würde es die Linuxfibel tun;-)

    Thomas

  5. #5
    Registrierter Benutzer
    Registriert seit
    01.05.2001
    Beiträge
    89

    und wie läuft es bei Schleifen?

    Hallo Leute,

    ich dachte bisher immer, dass ein "exit 1" im Skript dieses abbricht. Dies ist aber nicht der fall...
    Ich habe hier ein recht langes for/while/if - Konstrukt, in dem auch Fehleingaben überprüft werden sollen. Sobald eine fehlerhafte Eingabe entdeckt wurde, soll das Skript komplett abbrechen. Es scheint mir jedoch, als würde nur die Weiterverarbeitung der aktuellen Schleife abbrechen.
    Wie kann ich also durch einen Aufruf an beliebiger Stelle im Skript, dieses zum kompletten Abbruch bringen?

    Gruß, Picard

    edit:
    Na toll, wie immer. Kaum poste ich ins Forum, fällt mir ein Fehler auf...
    exit 1 bricht das Skript natürlich ab....
    Geändert von jean_luc_picard (08-05-2004 um 12:25 Uhr)

  6. #6
    Registrierter Benutzer
    Registriert seit
    29.12.2003
    Beiträge
    17
    Code:
    #/bin/sh
    set -e
    ...
    http://wiki.pilgerer.org/ - Das WikiWeb fuer alle Unix Fans und die, die es werden wollen.

Lesezeichen

Berechtigungen

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