Auf zusaetzliches Argument pruefen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von z00k, 02.07.2008.

  1. #1 z00k, 02.07.2008
    Zuletzt bearbeitet: 02.07.2008
    z00k

    z00k I love my slack! Do u?

    Dabei seit:
    24.01.2005
    Beiträge:
    302
    Zustimmungen:
    0
    Ort:
    earth.getLocation("z00k");
    Howdy,

    habe ein Script, welche per 'case' auf uebergebene Argumente mit Value prueft. Nun soll jedoch ein unterschiedliches Verhalten auftreten wenn:

    Code:
    script.sh -c test -l
    oder

    Code:
    script.sh -c test
    Habe es versucht mit 'test -o' zu loesen, was allerdings nicht funktioniert.

    Code:
        do
          case "$optname" in
            "i")
              ...
              ;;
            "h")
              ...
              ;;
            "c")
              echo "Option $optname has the value $OPTARG"
              CGIBIN=$OPTARG
              if [ -o "l" ]
              then
                funktion1
              else
                funktion2
              fi
              ;;
    
             ...
    
    Hoffe es ist halbwegs verstaendlich, was ich meine. Also wenn das Argument mit Value '-c' uebergeben wird, soll geprueft werden, ob zusaetzlich noch das Argument '-l' angegeben wurde. Je nach Fall soll ein anderer Code/Funktion ausgefuehrt werden.

    Habe das Problem schon wie verrueckt gegoogled, bisher jedoch keine Loesung gefunden.

    Kann mir jemand von den Bash Gurus weiterhelfen? :D

    Thanks!

    gReeTz
    .
    .
    .
    EDIT (autom. Beitragszusammenführung) :
    .

    Hmm, kurz nachdem ich den Beitrag geschrieben habe, kam mir ein Geistesblitz :D

    Habe es jetzt so geloest:

    Code:
    ...
            "h")
              ...
              ;;
            "c")
              echo "Option $optname has the value $OPTARG"
              CGIBIN=$OPTARG
              while getopts ":l" optname
                do
                  case "$optname" in
                "l")
                  echo "Using c and l! Looks good!"
                  ;;
                  esac
                done
              ;;
    
    ...
    Aber es gibt doch bestimmt noch ne elegantere Loesung, oder?


    gReetZ
     
  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 Gott_in_schwarz, 02.07.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Wenn du von mir Hilfe haben willst, solltest du ein funktionierendes (minimales) Code-Beispiel bringen. Ich hab so ein paar Ideen, aber ohne einen Testkandidaten (den ich mir ganz sicher nicht selber "eben mal" schreiben werde; auch wenns nicht so viel an code sein sollte...) kann ich nicht wirklich viel zum Problem beitragen. (Außer lustigem Raten vielleicht...)

    Aber ich geh jetzt eh in die Sonne. Endorphine ernten. Aber ich denke auch generell ist es bei solchen Fragen IMHO angebracht, ein minimales funktionstüchtiges Skript-Beispiel zu posten. Erhöht nicht nur die Chancen auf "Hilfeleistung", sondern gehört irgendwie auch zum guten Ton. Naja, imho halt.
     
Thema:

Auf zusaetzliches Argument pruefen

Die Seite wird geladen...

Auf zusaetzliches Argument pruefen - Ähnliche Themen

  1. usernamen als argument übergeben

    usernamen als argument übergeben: Hi ich bin anfänger auf dem gebiet und möchte ein einfaches backup script schreiben. #!/bin/bash #Bei Ausführung des Scripts werden alle Datein...
  2. Metazeichen auf mehrere Argumente anweden

    Metazeichen auf mehrere Argumente anweden: Hey ! Ich habe noch eine Frage ;) Und zwar geht es um den Formalismus. Ich möchte mit dem Stream-Editor etwas ersetzen. Nun möchte ich aber...
  3. Shell Argument

    Shell Argument: Hi, ich habe eine frage zu den shell argumenten. Ich will ein bestimmtes Argument auslesen. Das Problem, das Argument ist in einer Variable....
  4. ./test: line 2: [: too many arguments

    ./test: line 2: [: too many arguments: Kann mir jemand sagen warum er hier meckert? MESSAGE=$(tail -n1 *.log) if [ $MESSAGE = "Export terminated successfully without warnings." ];...
  5. x-tes argument in einer zeile löschen

    x-tes argument in einer zeile löschen: Hallo, ich habe eine Textdatei die ungefähr so aussehen kann: WORT, noch_eins, '', -143.4, 44, usw.... WORT2, noch_eins4, '', -14324.4, 414,...