Bash Script läuft nicht auf der Fritz (freetz)

  • Hallo.
    Ich bastle an einem Script, das auf meinem Linux Rechner ohne Probleme läuft, wenn ich dies auf der Fritz ausführe kommt dies:

    Code
    line 18: syntax error: Bad substitution


    Im Code bei Zeile 18 steht dies:

    Code
    IP=${IP:fh}


    Vom String IP sollten nur die ersten fh Zeichen übrigbleiben, wie gesagt auf meiner Suse Kiste funktionert dies.
    Die Shell auf der Fritz meckert dies aber an - warum ?

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Zeige doch mal das Skript (insbesondere den Shebang), evtl. wird es auf der FB mit einer anderen Shell ausgeführt als auf deinem PC.

    yaVDR-Dokumentation (Ceterum censeo enchiridia esse lectitanda.)

  • Freetz hat per Default keine bash sondern ash. Wenn du unbedingt die bash brauchst, musste die seperat als Paket auswählen. Das Teil ist aber ziemlich groß und imo Platzverschwendung, da mit der ash eigentlich auch alles machbar sein sollte.


    PS: Meinste nicht das ist das falsche Forum hier?

    SAT Hardware: Gibertini SE75 | DuraSat Dur-Line UK-24 | DD OctopusNET V2 Rack (Firmware 1.1.6) mit MaxS8
    Server: Asus M5A78L-M/USB3 | Sempron 145@2Cores | 8GB ECC RAM | PicoPSU | Debian Stretch 64Bit | VDR 2.4.5 mit SAT>IP, epgsearch, live, markad
    Clients: RaspberryPI 2/3 | Yocto Poky Linux (Openembedded) 3.2+git | Linux Kernel 5.4.72 | VDR 2.4.5 mit SAT>IP, RpiHDDevice, SkinDesigner, Remote, Extrecmenu, Femon, Mlist


    R.I.P: Gigaset M740 mit VDR von open7x0.org

  • Zeige doch mal das Skript (insbesondere den Shebang), evtl. wird es auf der FB mit einer anderen Shell ausgeführt als auf deinem PC.

    Bash
    #!/bin/bash


    Ich glaube glotzipapa hat mit beidem Recht - werde mich ash befassen
    mfg Rudi

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

  • Hi - Die Lösung ist ganz einfach :
    Statt

    Code
    IP=${IP:fh}


    Dies :

    Code
    IP=${IP:$fh}


    Dies ist auch bash kompatibel.
    BTW:
    Wenn ich was in Delphi schreibe, bin ich mir mit der Syntax sicher was ich tue, bei dem (B)ASH Scripten weiss ich oft nicht warum dies so ist.
    Wobei ich beim (B)ASHEN Anfänger bin, das erklärt vermutlich mein Problem :O


    mfg Rudi

    VDR 1 (SD) : ASRock A330 GC, 1 GB RAM, TT- FF Karte rev. 2.3, 7'' TFT, Lirc X10 - Selbstbau Gehäuse - Suse 11.3 (64) vdr-1.7.10 diverse Plugins
    VDR 2 (HD) : MSI G41M-P25, 2 GB RAM, E6700 2x3.20GHz, Gainward GT220, 2TB HD, Lirc X10, TT S2-3600 USB, TT S2-1600, - Suse 11.3 (64) NvidiaTreiber 260.19 vdr-1.7.18 - xineliboutplugin 1.0.90 cvs, xine-lib 1.1.90 , s2-liplianin DVB Treiber

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!