Läuft die "desinfec't"-Version nicht auf der Basis von Ubuntu?
Vermutlich ist da wieder "dash" als "/bin/sh" verlinkt, dann hilft es, die erste Zeile in "juis_check" auf "#! /bin/bash" zu ändern (solange man außerhalb der FRITZ!Box ist). Wenn es dann auch noch nicht will, braucht es schon die Debug-Ausgabe (gilt auch für die erste Version mit "bash" und "xmllint", "läuft auch nicht" ist als Fehlermeldung etwas schmal), die man durch Aufruf mit "bash -x ..." (an die Stelle der drei Punkte kommt der sonstige Aufruf) erzeugen kann.
Mir ist zwar bewußt, daß viele eher unerfahrene Linux-Benutzer einen Ubuntu-Ableger (bzw. generell ein Debian-basiertes System) benutzen, aber ich habe die "dash" als "/bin/sh" dort nicht eingeführt und es war lange Jahre "Konsens", daß dort die aktuell verwendete Shell des Benutzers verlinkt ist. Wenn der "ksh" benutzt, funktioniert die Syntax ebenfalls nicht ... die zweite Version des Skriptes (juis_check) baut auf die Shell der BusyBox (die erste auch nur deshalb auf "bash", weil da der direkte Zugriff über "/dev/tcp" möglich war, die Verwendung der indirekten Adressierung bei Variablen war nur der Tatsache geschuldet, daß es eben ohnehin ging) - und die unterstützt nun mal einiges an (nützlichen) "bash-ismen".
Abgesehen davon kann ich den tatsächlichen Sprachumfang der "dash" auch nicht wirklich berücksichtigen, weil ich eigentlich Debian-basierte Distributionen eher ablehne (zumindest nicht freiwillig benutze) und mir die "dash" jedesmal gesondert für Tests installieren müßte.
Da der Posix-Standard (und mehr kann "dash" nicht) nicht einmal die "substring expansion" (n=${var:
start:
len}) versteht und an dieser Stelle meist die Benutzung von "awk"
empfohlen wird, ist das aber auf einer originalen FRITZ!OS-Installation von AVM ohnehin kaum möglich, auf diesen "bash-ismus" zu verzichten ... die BusyBox von AVM kennt nämlich auch kein "awk".
Da sind die Fehler oben (die aus der Verwendung von "==" anstelle von "=" resultieren) eher Nebenkriegsschauplätze ... wobei man vermutlich auch den Test einer Variablen auf den Beginn mit "fixed:" irgendwie noch hinbekommt ohne "awk". Aber es erfordert eben wesentlich höheren Aufwand und auch Tests, was denn nun als "/bin/sh" verlinkt wäre und was als "$SHELL" gesetzt ist (damit man sich notfalls selbst noch einmal mit "/bin/bash" als Shell aufruft), sind zusätzlicher Aufwand, der auf der Box witzlos ist (da gibt es nur "ash" aus der BusyBox als "/bin/sh") und auch wenn ich den Ansatz der höheren Geschwindigkeit der Abarbeitung der "dash" nachvollziehen kann, haben die Ubuntu-Leute da nicht nur sich selbst ein Ei gelegt:
https://wiki.ubuntu.com/DashAsBinSh
- - - Aktualisiert - - -
Ich habe mal (nur so zum Spaß) das Skript "juis_check" POSIX-kompatibel gemacht ... angesichts der dazu notwendigen Änderungen kann man sicherlich verstehen, wenn ich mich auch künftig bei "/bin/sh" auf die "ash" der BusyBox verlasse/einrichte und da, wo es unbedingt die "bash" sein soll/muß, das dann explizit angebe.