Anzeige:
Ergebnis 1 bis 6 von 6

Thema: Jeden 2ten Parameter ausgeben

  1. #1
    Gast

    Post Jeden 2ten Parameter ausgeben

    Hallo Ihr Profis.
    Ich der leider keiner bin habe eine Frage:

    -------->-8------------

    par[1]=$2
    par[2]=$4
    par[3]=$6
    par[4]=$8
    par[5]=$10
    x=1
    for test in "${par[x]}" == ""
    do
    echo ${par[x]}
    x=`expr $x + 1`
    done

    ---------->-8--------------

    Der Code soll bewirken das nach start des Shellskriptes jeder 2te Parameter ausgegeben werden soll.
    Mein Problem, wie geht es auser mit dieser $1 $2 usw.-Methode?
    Außerdem werden nur 3 Parameter ausgegeben obwohl ich z.b. 8 Parameter eingebe, werden nur 3 statt 4 ausgegeben.

    by the way: Kennt jemand ein saugutes Shell-Tutorial zum Downloaden?

    Many thx

  2. #2
    Registrierter Benutzer
    Registriert seit
    19.10.1999
    Ort
    Dresden
    Beiträge
    255

    Post

    <pre>
    #!/bin/sh

    while [ "$#" -gt 0 ]; do
    echo $1
    shift 2
    done
    </pre>

    Thomas

  3. #3
    Gast

    Post

    Danke ich werds gleich mal probieren.

    :-)))

  4. #4
    Gast

    Post

    Schade,
    es kommt immer
    unexpected end of file

    Habe genau das Script genommen und folgendes eingegeben:
    sh 2param.sh erste zweite dritte vierte

    Als Fehler zeigt er auf die Zeile wo done steht. Keine Ahnung woran das liegen könnte.

    Weiß jemand Rat?
    Oder kennt jemand ein gutes Tutorial? Habe leider kein Buch zur Hand.

  5. #5
    Registrierter Benutzer
    Registriert seit
    19.10.1999
    Ort
    Dresden
    Beiträge
    255

    Post

    Klingt so, als hättest Du vergessen, eine Klammer zu schließen oder eine ungerade Anzahl Anführungszeichen...

    Davon abgesehen, hat das kleine Skript den Fehler, dass es sich bei einer ungeraden Anzahl Paramater aufhängt (da shift 2 dann nicht mehr bewirkt). Korrekt lautet es:

    <pre>
    #!/bin/sh

    while [ "$#" -gt "0" ]; do
    echo "$1"
    test "$#" -eq "1" &amp;&amp; break
    shift 2
    done
    </pre>

    Ein Tutorial (allerdings mehr auf Anfänger zugeschnitten) findest Du im Linuxbuch unter http://www.saxsys.de/linux/ . In der Linuxfibel ist es leider noch nicht fertig (aber ich arbeite dran )

    Thomas


  6. #6
    Gast

    Post

    Danke Thommy, werds morgen gleich mal ausprobieren,
    habe auch gemerkt, das es sich bei der ungeraden Anzahl Parameter aufhängt.

    Also nochmals vielen Dank. Jeder muss es erst mal lernen.

Lesezeichen

Berechtigungen

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