continue in Schleife einbauen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von D89, 21.12.2014.

  1. D89

    D89 Grünschnabel

    Dabei seit:
    21.12.2014
    Beiträge:
    1
    Zustimmungen:
    0
    Hallo alle zusammen,

    ich schreibe grad an einem shell script und habe folgendes Problem:
    Ich möchte, dass die beiden if Anweisungen (zeile 61 -70 und zeile 73-76)
    in jeder iteration abgefragt werden. Ich weiß, dass ich continue dazu verwenden muss und eine Schleife
    die einen do - done Block hat. Ich habe verschiedene Varianten probiert von while-Schleife über until-Schleife bis hin zur for-Schleife.
    Hat alles leider nicht geklappt... :(

    Hat irgendjemand von euch vielleicht irgend eine Idee?
    Lieben Dank!

    Code:
    
     60 shift $((OPTIND-1))
     61 if [ $iFlag -eq 1 ] ; then
     62         read -p "Do you want to delete $1?" input
     63         case $input in
     64                 [Yy])
     65                         echo " " ;;
     66                         #echo "File will delete!" ;;
     67                 *)
     68                         #echo "File wont't delete!"
     69                         exit 1 ;;
     70         esac
     71 fi
     72
     73 if [ $vFlag -eq 1 ] ; then
     74                 echo "moved $1 to ~/deleted"
     75      
     76 fi
     77
     78 while [ $# -gt 0 ] ; do
     79         checkErrors $1
     80         shift
     81 done
    
    
    
    
    
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 Nexus633, 24.12.2014
    Zuletzt bearbeitet: 24.12.2014
    Nexus633

    Nexus633 Eroberer

    Dabei seit:
    10.01.2014
    Beiträge:
    56
    Zustimmungen:
    0
    Hey,
    Da du das immer wieder ausführen möchtest, benötigst du keinen continue :-).

    Für jede Situation die du diese schleifen aufrufen möchtest, würde ich eine Funktion verwenden. Die erlaubt es dir den Bereich jedes mal aufzurufen wenn du ihn benötigst.

    Verpacke es so:
    Code:
    File_dealted(){
        if [ $iFlag -eq 1 ] ; then 
            read -p "Do you want to delete $1?" input
            case $input in
                [Yy]) 
                     echo " " ;; 
                     #echo "File will delete!" ;; 
                 *) 
                     #echo "File wont't delete!"
                     exit 1 ;;
            esac 
        fi
    }
    
    So kannst du die Funktion bei Bedarf aufrufen. Als Option würde ich einen return Wert in Form eines boolischen werts nehmen. Hier kannst du die Funktin in einer variabel speichern und mit einer Abfrage prüfen. Nach Prüfung gibst du deinen echo aus.

    Du hast viele Möglichkeiten um nach Rom zu kommen, das ist eine :-)

    Mit freundlichen grüßen
    Nexus633

    -
    Vom Handy gesendet.

    PS: am Handy ist es ziemlich schei.... Code einzureien oO. Ich hoffe du weißt wie ich den Code meine :-). Sorry Handy halt...
     
Thema:

continue in Schleife einbauen

Die Seite wird geladen...

continue in Schleife einbauen - Ähnliche Themen

  1. e2fsck cannot continue

    e2fsck cannot continue: Hallo zusammen, ich erhalte folgende Meldung, nachdem ich eine Festplatte aus meinem System entfernt habe... e2fsck cannot continue. Was...
  2. for schleife für eine Zeile

    for schleife für eine Zeile: Hallo, ich bin neu hier in diesem Forum. Evtl. kann mir ja einer von euch bei meinem Problem helfen. Ich möchte für ein entpackprogramm eine...
  3. Systemd-Projekt veröffentlicht Event-Verarbeitungsschleife

    Systemd-Projekt veröffentlicht Event-Verarbeitungsschleife: Das Systemd-Projekt hat seine selbst entwickelte Event-Verarbeitungsschleife zum stabilen Teil von libsystemd erklärt. »sd-event« steht damit auch...
  4. [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind

    [FRAGE] Dateinamen normalisieren während sie in einer "for" Schleife sind: Moin Gemeinde, ich habe ein Skript welches Emails abholt und weiterverarbeitet, manche müssen ausgedruckt werden. Nun hat sich herausgestellt...
  5. bash for schleife mit if

    bash for schleife mit if: Hey, ich krieg die nicht so hin wie ich sie gerne hätte for FOLDERNAME in $(find /home/hexenwerk/ -maxdepth 1 -type d -exec basename {} \; )...