Tôi đã viết một thư viện Bash cá nhân và khung kịch bản sử dụng GNU shtool để thực hiện phát hiện nền tảng khá chính xác.
GNU shtool là một tập lệnh rất di động có chứa, trong số những thứ hữu ích khác, lệnh 'nền tảng shtool'. Đây là đầu ra của:
shtool platform -v -F "%sc (%ac) %st (%at) %sp (%ap)"
trên một vài máy khác nhau:
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)
Điều này tạo ra kết quả khá khả quan, như bạn có thể thấy. GNU shtool hơi chậm, vì vậy tôi thực sự lưu trữ và cập nhật nhận dạng nền tảng trong một tệp trên hệ thống mà tập lệnh của tôi gọi. Đó là khuôn khổ của tôi, vì vậy nó phù hợp với tôi, nhưng số dặm của bạn có thể thay đổi.
Bây giờ, bạn sẽ phải tìm cách đóng gói shtool với các tập lệnh của mình, nhưng đó không phải là một bài tập khó. Bạn luôn có thể rơi vào đầu ra uname.
BIÊN TẬP:
Tôi đã bỏ lỡ bài viết của Teddy về config.guess
(bằng cách nào đó). Đây là những kịch bản rất giống nhau, nhưng không giống nhau. Cá nhân tôi cũng sử dụng shtool cho các mục đích sử dụng khác và nó đã hoạt động khá tốt đối với tôi.