Hilfe bei Script

  • Hallo ich bräuchte als Script-Dummy Hilfe von einem "Profi"


    Ich habe folgendes Script mit notepad++ (Kodierung UTF 8 ) geschrieben:


    #!/bin/bash
    wdhl=10
    i=0
    while [ $i <= $wdhl ]
    do
    echo $i hhhh;
    $i++;
    done


    Hex:



    ef bb bf 23 21 2f 62 69 6e 2f 62 61 73 68 0d 0a
    77 64 68 6c 3d 31 30 0d 0a 69 3d 30 0d 0a 77 68
    69 6c 65 20 5b 20 24 69 20 3c 3d 20 24 77 64 68
    6c 20 5d 0d 0a 64 6f 0d 0a 20 65 63 68 6f 20 24
    69 20 68 68 68 68 3b 0d 0a 20 24 69 2b 2b 3b 0d
    0a 64 6f 6e 65


    Auf der Box gespeichert und int telnet gestartet und folgende Meldung erhalten:


    root@dm8000:~# sh /etc/tuxbox/config/Test/Test.sh
    : not found/config/Test/Test.sh: line 1: #!/bin/bash
    /etc/tuxbox/config/Test/Test.sh: line 8: syntax error: unexpected "done" (expect
    ing "do")
    root@dm8000:~#


    Bei Speicherung des Scrips als UTF ohne BOM erhalte ich folgende Fehlermeldung:


    root@dm8000:~# sh /etc/tuxbox/config/Test/Test.sh
    /etc/tuxbox/config/Test/Test.sh: line 8: syntax error: unexpected "done" (expect
    ing "do")
    root@dm8000:~#


    Was mache ich falsch?


    forumCluberer


    [Edits] Rechtschreibfehler behoben

  • #!/bin/bash
    wdhl=10
    i=0
    while [ $i <= $wdhl ]
    do
    echo $i hhhh;
    $i++
    done


    Hat nichts geholfen.


    root@dm8000:~# sh /etc/tuxbox/config/Test/Test.sh
    /etc/tuxbox/config/Test/Test.sh: line 8: syntax error: unexpected "done" (expect
    ing "do")
    root@dm8000:~#

  • Hat alles nichts geholfen.


    Habe auch schon mal for-Schleifen ausprobiert. Komme4n immer dies Meldungen


    ????

  • OE2.0 hat kein vollständiges bash, die Standardshell ist sh, die Bedingungsprüfung funktioniert so auch nicht


    das sollte klappen:

    Bash
    #!/bin/sh
    i=0
    wdhl=10
    while [ $i -le $wdhl ]
    do
    echo $i hhhh;
    let i=$i+1
    done


    z.B. Linux Bedingungsprüfungen


    Edit: das scrpit müsste so auch mit der bash funktionieren (#!/bin/bash)

  • Irgendwie klappt das alles nicht


    Bild 1: Code


    Bild 2: Ergebnis mit Speicherung UTF8-Kodierung


    Bild 2: Ergebnis mit Speicherung UTF8ohneBOM-Kodierung

  • ich weiß zwar nicht, was du mit dem script vor hast, aber seq (Sequenz) wäre u.U. die elegantere Lösung für das Beispielscript und wirft das gleiche Ergebnis aus


    Bash
    #!/bin/sh
    wdhl=10
    for i in $(seq $whdl);do
    echo $i hhhh
    done
    exit 0
  • Das Script war ein Test-Script für etwas anderes. Die Schleife ging dort einfach nicht.
    Deshalb habe ich den Code zum Testen einfach in ein Mini-Script ausgelagert.


    Aber Danke für den Tip.


    forumCluberer