Saya menulis perpustakaan Bash pribadi dan kerangka kerja skrip yang menggunakan GNU shtool untuk melakukan deteksi platform yang agak akurat.
GNU shtool adalah sekumpulan skrip yang sangat portabel yang berisi, di antara hal-hal lain yang bermanfaat, perintah 'platform shtool'. Ini adalah output dari:
shtool platform -v -F "%sc (%ac) %st (%at) %sp (%ap)"
pada beberapa mesin yang berbeda:
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)
Ini menghasilkan hasil yang cukup memuaskan, seperti yang Anda lihat. GNU shtool agak lambat, jadi saya benar-benar menyimpan dan memperbarui identifikasi platform dalam file di sistem yang dipanggil oleh skrip saya. Ini kerangka saya, jadi itu berfungsi untuk saya, tetapi jarak tempuh Anda mungkin berbeda.
Sekarang, Anda harus menemukan cara untuk mengemas shtool dengan skrip Anda, tetapi ini bukan latihan yang sulit. Anda selalu dapat kembali menggunakan output yang tidak sama.
EDIT:
Saya melewatkan posting oleh Teddy tentang config.guess
(entah bagaimana). Ini adalah skrip yang sangat mirip, tetapi tidak sama. Saya pribadi menggunakan shtool untuk kegunaan lain juga, dan itu sudah bekerja dengan baik untuk saya.