पता लगाएँ कि क्या इसके उबंटू लिनक्स OS मेकफाइल में है


13

मैं एक ऐसा मेकफाइल बनाना चाहता हूं जो मेरी वस्तुओं को संकलित करे और उन्हें लिनक्स डिस्ट्रो (उदाहरण के लिए सुज़, रेडहैट या उबंटू) के अनुसार नाम दे। मैं कैसे पता लगा सकता हूं कि ओएस उबंटू है या नहीं?


यह काम कर रहा है? (चूंकि आपने अपनी टिप्पणी हटा दी: D)
रिनजविंड

हां, मैंने OS संस्करण को "शेल lsb_release -si" में बदल दिया है और अब यह अच्छी तरह से काम करता है :)। आपके उत्तर के लिए धन्यवाद!
आरआरआर

मजेदार शीर्षक के लिए +1। (संकेत: मेकफाइल और मेक फ़ाइल का मतलब पूरी तरह से अलग-अलग चीजों से है।)
महेश

जवाबों:


19

हम cat /etc/lsb-releaseUbuntu रिलीज की पहचान करने के लिए उपयोग करते हैं:

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 ये लिंक में एक पूरी स्क्रिप्ट है;)


उबंटू टाइप सिस्टम के लिए ऑपरेशन सिस्टम, आर्किटेक्चर और संस्करण के लिए उदाहरण कोड:

OS=$(shell lsb_release -si)
ARCH=$(shell uname -m | sed 's/x86_//;s/i[3-6]86/32/')
VER=$(shell lsb_release -sr)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.