Schleife & Parameter

  • Hallo,
    ich habe mal zwei ganz doofe Fragen und zwar:
    Wie kann ich im Shellscript eine Art Schleife machen die für jeden eintrag in der Liste etwas durch führt ich kenne das von Java so:
    [code=php]
    List<String> meineliste = new ArrayList<String>();
    meineliste.add("Inhalt 1");
    meineliste.add("Inhalt 2");
    for(String s : meineliste){
    System.out.println(s);
    }
    [/php]
    Gibt es sowas in der Art für ShellScript?

    2. Frage
    Wie kann ich einen Parameter z.B -Title <String>, aber der String ist halt nicht nur ein Wort sondern kann auch mehrere Wörter sein, gleiches gilt für den Parameter -Note_Body , man sollte falls möglich beide aufeinmal nutzen können.

    :danke_ATDE::danke_ATDE::danke_ATDE::danke_ATDE:

    Grüße

    Felix

    PS: Rechtschreibung + Grammatik ist bei mir grausig, ich weiß ^^

  • Weiterer Lesestoff
    Deine zweite Frage verstehe ich nicht.

  • Also ich rufe das Script mit

    Code
    sh push.sh -Title Das ist der Titel der PushBenachrichtigung -NOTE_BODY Das ist der Note Body der Push!

    Und ich will das nach -Title und -NOTE_BODY in Variablen speichern.

    Besser erklärt?

    Grüße
    Felix

  • Quoting wie Tell schon schrieb.

    Code
    sh push.sh 'Das ist der Titel der PushBenachrichtigung'  'Das ist der Note Body der Push!'

    und in $1 steht der erste String und in $2 der zweite.

  • Hallo,
    das


    geht leider nicht : Syntax error: "(" unexpected

    :helpnew::helpnew::helpnew::helpnew::helpnew::helpnew::helpnew:

    Grüße
    von Felix

  • Mach doch einfach das was mit "quote" bereits 2x geraten wurde?

    Du hast aber sowieso einen gewaltigen Fehler in der Art deiner Ausführung: Im Shebang steht eindeutig /bin/bash aber warum auch immer führst du das Script über /bin/sh aus. sh ist aber älter als bash und kann weniger, inbesondere in dem Fall vom Scriptbeispiel von framp kann sh diese Art von Arrays nicht!

    Guckst du:

    Code
    root@raspberrypi:~# bash /tmp/x.sh 
    Inhalt 1
    Inhalt 2
    root@raspberrypi:~# sh /tmp/x.sh   
    /tmp/x.sh: 3: /tmp/x.sh: Syntax error: "(" unexpected
    root@raspberrypi:~#

    Benutzt also bitte immer bash!

    Die Dateiendung sagt erstmal absolut gar nichts darüber aus wie der Interpreter lauten muss. Die Datei könnte auch x.txt lauten oder eben überhaupt keine Dateiendung haben wie es beim raspi-config oder rpi-update Script auch der Fall is.


    Aber davon abgesehen ist das Scriptbeispiel von framp wie ich finde etwas falsch für den hier gewollten Zweck, das geht zum einen besser aber vorallem wurde vom TE (felixCrafter_2_3) leider erst nach dem Post von framp genau beschrieben was er eigentlich wollte - deshalb ist das für Dich felixCrafter_2_3 nicht weiter von Bedeutung! Also ignoriere das bitte für dein Vorhaben

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!