Eu escrevi uma biblioteca pessoal Bash e uma estrutura de script que usa o GNU shtool para fazer uma detecção de plataforma bastante precisa.
GNU shtool é um conjunto muito portátil de scripts que contém, entre outras coisas úteis, o comando 'shtool platform'. Aqui está a saída de:
shtool platform -v -F "%sc (%ac) %st (%at) %sp (%ap)"
em algumas 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)
Isso produz resultados bastante satisfatórios, como você pode ver. O GNU shtool é um pouco lento, então eu realmente armazeno e atualizo a identificação da plataforma em um arquivo no sistema que meus scripts chamam. É a minha estrutura, de modo que funciona para mim, mas sua milhagem pode variar.
Agora, você terá que encontrar uma maneira de empacotar o shtool com seus scripts, mas não é um exercício difícil. Você também pode sempre usar a saída uname.
EDITAR:
Perdi o post de Teddy sobre config.guess
(de alguma forma). Esses scripts são muito semelhantes, mas não são os mesmos. Eu pessoalmente uso o shtool para outros usos também, e tem funcionado muito bem para mim.