Es gibt Checkbashismen . Unter Debian wird es als Teil der Paketverwalter-Tools ausgeliefert .
Testen Sie Ihre Skripte unter Dash und Posh . Beide haben einige Nicht-POSIX-Konstrukte, aber wenn Ihr Skript in beiden funktioniert, funktioniert es wahrscheinlich an den meisten Stellen. (Mit der Einschränkung, dass es schwierig ist, typische Shell-Skripte zu testen, da sie in der Regel viele Eckfälle haben.)
Wenn Sie Ihre Skripte auf Embedded Linux-Plattformen portieren möchten, testen Sie sie mit BusyBox . Beachten Sie, dass BusyBox mehr oder weniger eingeschränkt sein kann, je nachdem, wie klein ein eingebettetes System sein soll. Es ist ganz normal, Skripte zu haben, die auf einer Funktion basieren, die einige BusyBox-Installationen nicht haben.
Beachten Sie, dass Nichtportabilität nicht nur von der Shell, sondern auch von externen Dienstprogrammen ausgeht. OpenBSD und Solaris haben in der Regel Dienstprogramme mit POSIX-Funktionen und nicht viel mehr. Sie eignen sich daher gut zum Testen der Portabilität.
Sie sollten sich auf die POSIX-Spezifikation und andere in diesem Thread erwähnte Ressourcen beziehen (insbesondere auf das Autoconf-Handbuch ). Aber das ist Dokumentation. Es hilft nicht, wenn Sie eine Funktion versehentlich verwenden.
Gilles 'SO - hör auf böse zu sein'
quelle