Escribí una biblioteca personal de Bash y un marco de scripting que usa GNU shtool para hacer una detección de plataforma bastante precisa.
GNU shtool es un conjunto de scripts muy portátil que contiene, entre otras cosas útiles, el comando 'plataforma shtool'. Aquí está la salida de:
shtool platform -v -F "%sc (%ac) %st (%at) %sp (%ap)"
en algunas máquinas diferentes:
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)
Esto produce resultados bastante satisfactorios, como puede ver. GNU shtool es un poco lento, por lo que en realidad almaceno y actualizo la identificación de la plataforma en un archivo en el sistema al que llaman mis scripts. Es mi marco, por lo que funciona para mí, pero su kilometraje puede variar.
Ahora, tendrá que encontrar una manera de empaquetar shtool con sus scripts, pero no es un ejercicio difícil. Siempre puede recurrir a la salida de uname, también.
EDITAR:
Me perdí la publicación de Teddy sobre config.guess
(de alguna manera). Estos son scripts muy similares, pero no iguales. Yo personalmente uso shtool para otros usos también, y me ha funcionado bastante bien.