J'ai écrit une bibliothèque Bash personnelle et un framework de script qui utilise GNU shtool pour effectuer une détection de plateforme plutôt précise.
GNU shtool est un ensemble de scripts très portable qui contient, entre autres choses utiles, la commande 'shtool platform'. Voici la sortie de:
shtool platform -v -F "%sc (%ac) %st (%at) %sp (%ap)"
sur quelques machines différentes:
Mac OS X Leopard:
4.4BSD/Mach3.0 (iX86) Apple Darwin 9.6.0 (i386) Apple Mac OS X 10.5.6 (iX86)
Ubuntu Jaunty server:
LSB (iX86) GNU/Linux 2.9/2.6 (i686) Ubuntu 9.04 (iX86)
Debian Lenny:
LSB (iX86) GNU/Linux 2.7/2.6 (i686) Debian GNU/Linux 5.0 (iX86)
Cela produit des résultats assez satisfaisants, comme vous pouvez le voir. GNU shtool est un peu lent, donc je stocke et mets à jour l'identification de la plateforme dans un fichier sur le système que mes scripts appellent. C'est mon cadre, donc cela fonctionne pour moi, mais votre kilométrage peut varier.
Maintenant, vous devrez trouver un moyen d'empaqueter shtool avec vos scripts, mais ce n'est pas un exercice difficile. Vous pouvez toujours vous rabattre sur la sortie sans nom.
ÉDITER:
J'ai raté le message de Teddy sur config.guess
(en quelque sorte). Ce sont des scripts très similaires, mais pas les mêmes. Personnellement, j'utilise également shtool pour d'autres utilisations, et cela a très bien fonctionné pour moi.