Hallo, Am Mon, 11 Okt 2010, Thomas Moritz schrieb:
Am Montag, 11. Oktober 2010 07:21:13 schrieb David Haller:
Die bash kann aber auch in dem Modus viel mehr als ne bourne shell, die ash ist da wesentlich näher dran. Beispiel:
$ /bin/sh -c 'a=1;echo $((a+1));' 2 $ /bin/ash -c 'a=1;echo $((a+1));' a+1: not found
'busybox','zsh' und 'ksh' koennen's auch, nur eben die ash nicht.
zsh und ksh sind ja auch POSIX kompatibel. Was die busybox genau ist/implementiert weiß ich jetzt nicht. Hierzu nochmal explizit: http://www.in-ulm.de/~mascheck/ ;) Die ash ist AFAIK die ("aktuelle" und Opensource) shell, die am nächsten an ner echten bourne-shell (/bin/sh) dran ist, und somit als kleinster gemeinsamer Nenner der bourne-Familie gut zum testen am besten geeignet, was als '#!/bin/sh'-Script durchgeht ... Interpretiert man '#!/bin/sh' als POSIX kann /bin/sh einiges mehr sein, zsh, ksh, (teils neuere) bash[1], bzgl. dash, busybox etc. kenn ich mich nicht aus. In de.comp.os.unix.shell wird da recht pragmatisch mit umgegangen, ohne Hinweis wird "POSIX-Shell" angenommen. womit ich auch keine Probleme habe, obwohl das ein oder andere davon hier in meiner ollen bash nicht funktioniert. Nicht POSIX sind z.B. ash, [t]csh, perlsh[2], ..., wobei die ash davon die einzige bourne-shell ist. HTH, -dnh [1] GNU bash hat(te) AFAIR teils inkompatible Abweichungen, aktuelle bash sind aber gut kompatibel, die von mir hier noch auf der ollen Kiste verwendeten 2.03 gibt's noch einige Haken und Ösen wo's nicht zu POSIX passt. [2] von der Syntax. Von den Features her schon (spätestens nach nem 'use POSIX;' bzw. dem in der preload.pl ;) -- It's 106 ms latency to Chicago, we've got a fullscale rant about NetSol and half a pack of work annoyances, it's dark, and we're typing with sunglasses.'' -- Hit it.'' -- Anthony de Boer -- To unsubscribe, e-mail: opensuse-programming-de+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-programming-de+help@opensuse.org