parameter übergabe

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von fuQito, 11.01.2006.

  1. fuQito

    fuQito Grünschnabel

    Dabei seit:
    19.12.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Ort:
    Zürich / Basel
    hallo zusammen!
    ich bin dran einen script zu schreiben, habe neu angefangen und bin neu programmierer. Script sollte daten löschen, es gibt verschiedene accounts und alle haben einen Public verzeichnisse und diese Verzeichnisse sollen mit dem script "bereinigt" werden! wie ich die daten löschen soll usw habe ich schon programmiert abr bei der parameter übergabe habe ich schwierigkeiten!. Das script hat nur 3 optionen (-d und -n) debug, nonexecute und ohne option. Reinfolge sollte keine rolle spielen, es dürfen max 2 optionen angegeben werden und wenn man z.B. -a eintippt oder so sollte script abbrechen und nicht weiter arbeiten.

    im moment sieht mein script so aus;

    Code:
    #!/bin/bash
    if [ $# -le "2" ] ; then
    echo
    else
      echo "Fehler!"
      exit
    fi
    
    for i in $@
    do
      if test $1 == "-d" ; then
        debug="1"
        nonexec="0"
      elif test $1 == "-n" ; then 
        nonexec="1"
        debug="0"
      else
        exit
      fi
    
      if test $2 == "-d" ; then
        debug="1"
        nonexec="0"
      elif test $2 == "-n" ; then
        nonexec="1"
        debug="0"
      else
        exit
      fi
    
      if test $1 == $2 ; then
        echo "Fehler!"
        exit
      else
        continue
      fi
    done
    
    case "$1" in
         -d)
                echo "Debug Mode"
                ;;
         -n)
                echo "Non-Execute"
                ;;
    esac
    
    case "$2" in
         -d)
                echo "Debug Mode"
                ;;
         -n)
                echo "Non-Execute"
                ;;
    esac
    
    exit 0
    
    Weiss jemand wie ich diese Verzweigungsproblem lösen kann? bessere Ideen? ?( vielen dank
    fuat
     
  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 Xanti, 11.01.2006
    Zuletzt bearbeitet: 11.01.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Ich würde es so machen (ungeprüft):

    Code:
    #!/bin/bash
    
    debug="0"
    nonexec="0"
    
    while [ $1 ]
    do
      case "$1" in
         -d)
                echo "Debug Mode"
                debug="1"
                ;;
         -n)
                echo "Non-Execute"
                nonexec="1"
                ;;
          *)
                echo "Fehler"
                exit
                ;;
      esac
      shift
    done
    
    Gruss, Phorus
     
  4. #3 ninguno, 11.01.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    ich würd's irgendwie so machen
    Code:
    #!/bin/bash
    
    if (( $# > 2 )) ; then
      echo "Fehler: ungültige Anzahl Parameter"
      exit 1
    fi
    
    nonexec=0
    debug=0
    
    for i in $@
    do
      if [ $i == "-d" ]; then
        debug=1
      elif [ $i == "-n" ]; then 
        nonexec=1
      else
        echo "Fehler: ungültiger Parameter $i"
        exit 2
      fi
    done
    
    if (( $debug )); then echo "Debug Mode"; fi
    if (( $nonexec )); then echo "Non-Execute"; fi
    
    exit 0
     
  5. fuQito

    fuQito Grünschnabel

    Dabei seit:
    19.12.2005
    Beiträge:
    4
    Zustimmungen:
    0
    Ort:
    Zürich / Basel
    danke ninguno und Phorus! hab's hingekriegt naja sieht eigentlich einfach aus aber für mich war es schwierig :brav:
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

parameter übergabe

Die Seite wird geladen...

parameter übergabe - Ähnliche Themen

  1. [PHP] Fehler bei Parameterübergabe

    [PHP] Fehler bei Parameterübergabe: Hi, ich möchte, eigentlich ganz simpel, nur Parameter aus einer Auswahlbox mit POST übergeben. Aber er übergibt nicht den VALUE, sondern es...
  2. [Java] Parameterübergabe: 2 * 5 wird zu 2 d 5?

    [Java] Parameterübergabe: 2 * 5 wird zu 2 d 5?: Heyho, ich wollte eben so einen kleinen billigen Taschenrechner in Java implementieren (und bissl mit RMI und so spielen). Dabei ist eine...
  3. ARGV in Shell Script - Parameterübergabe an Platypus Droplet

    ARGV in Shell Script - Parameterübergabe an Platypus Droplet: ich möchte aus einem einfachen shell script ein droplet mit platypus (http://www.sveinbjorn.org/platypus) erstellen. das heißt beim ziehen von...
  4. Übergabeparameter

    Übergabeparameter: Hallo zusammen, wenn ich Übergabeparameter an eine Anweisen habe kann ich diese ja mittels $1 usw. anzeigen und damit weiterarbeiten. wenn...
  5. Aufruf Script mit Parameterübergabe

    Aufruf Script mit Parameterübergabe: Hallo, :hilfe2: ich bin dabei, ein Script zu schreiben, was Dateien eines Tages, die in einem Sammelordner sind, umbenennt (Tag tt dazufügen,...