ตรวจสอบว่า Ubuntu Linux OS ใน Makefile หรือไม่


13

ฉันต้องการสร้าง makefile ที่จะรวบรวมวัตถุของฉันและตั้งชื่อตาม Linux distro (เช่น Suse, RedHat หรือ Ubuntu) ฉันจะตรวจสอบได้อย่างไรว่าระบบปฏิบัติการของ Ubuntu หรือไม่


มันทำงานได้ไหม (เนื่องจากคุณลบความคิดเห็นของคุณ: D)
Rinzwind

ใช่ฉันเปลี่ยนระบบปฏิบัติการเป็น "shell lsb_release -si" และตอนนี้ก็ใช้งานได้ดี :) ขอบคุณสำหรับคำตอบ!
RRR

+1 สำหรับชื่อตลก (คำใบ้: ไฟล์ Makefile และ Make หมายถึงสิ่งต่าง ๆ โดยสิ้นเชิง)
Mahesh

คำตอบ:


19

เราใช้cat /etc/lsb-releaseสำหรับระบุรุ่นของ Ubuntu:

sh-3.2$  cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=8.04
DISTRIB_CODENAME=hardy
DISTRIB_DESCRIPTION="Ubuntu 8.04.4 LTS"

สำหรับรุ่นอื่น ๆ อาจจะเป็น

ls /etc/*release

Gentoo, RedHat, Arch & SuSE ทุกคนมีไฟล์เผยแพร่: http://linuxmafia.com/faq/Admin/release-files.htmlนี่คือสคริปต์ที่สมบูรณ์ในลิงก์;)


โค้ดตัวอย่างสำหรับระบบปฏิบัติการสถาปัตยกรรมและเวอร์ชั่นสำหรับระบบพิมพ์ Ubuntu:

OS=$(shell lsb_release -si)
ARCH=$(shell uname -m | sed 's/x86_//;s/i[3-6]86/32/')
VER=$(shell lsb_release -sr)
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.