Il y a des checkbashismes . Sur Debian, il est livré avec les outils de maintenance du paquet .
Testez vos scripts sous tiret et posh . Les deux ont quelques constructions non POSIX, mais si votre script fonctionne dans les deux cas, il fonctionnera probablement dans la plupart des endroits. (Avec l'avertissement, il est difficile de tester les scripts shell typiques car ils ont souvent beaucoup de cas.)
Si vous souhaitez que vos scripts soient portables sur les plates-formes Linux intégrées, testez-les avec BusyBox . Notez que BusyBox peut être plus ou moins restreint, selon la taille du système intégré que vous souhaitez. Il est tout à fait normal que les scripts reposent sur une fonctionnalité que certaines installations BusyBox ne possèdent pas.
Notez que la non-portabilité ne provient pas uniquement du shell, elle provient également d’utilitaires externes. OpenBSD et Solaris ont tendance à avoir des utilitaires avec des fonctionnalités POSIX et pas beaucoup plus, donc ils sont bons pour tester la portabilité.
Vous voudrez faire référence à la spécification POSIX et aux autres ressources mentionnées dans ce fil (en particulier le manuel autoconf ); mais c'est de la documentation, ça n'aide pas si vous utilisez une fonctionnalité accidentellement.
Gilles, arrête de faire le mal
la source