मैं एक स्क्रिप्ट लिखने की कोशिश कर रहा हूं जो मशीन की वास्तुकला के आधार पर क्रियाओं का निर्धारण करेगा। मैं पहले से ही उपयोग करें uname -mलेकिन मैं देखते हैं कि कितने एआरएम आर्किटेक्चर पता नहीं है, वास्तुकला लाइन इकट्ठा करने के लिए, और न ही मैं जानता हूँ कि एक है कि क्या करना armhf, armelया arm64।
जैसा कि इस स्क्रिप्ट के लिए यह निर्धारित करना आवश्यक है कि स्क्रिप्ट के कुछ हिस्सों को चलाया जा सकता है या नहीं, मैं यह निर्धारित करने के लिए एक सरल तरीका खोजने की कोशिश कर रहा हूं कि क्या वास्तुकला है armhf, armelया arm64। वहाँ किसी भी एक लाइनर या साधारण आदेश है कि उत्पादन या तो किया जा सकता है है armhf, armelया arm64?
स्क्रिप्ट विशेष रूप से डेबियन और उबंटू सिस्टम के लिए लिखी गई है, और मैं इसे इस तरह से ध्यान में रखकर टैग कर रहा हूं (यह स्वचालित रूप से क्विट करता है यदि आप उन डिस्ट्रो में से एक पर नहीं हैं, लेकिन इसे बहुत व्यापक तरीके से लागू किया जा सकता है कमांड (s) मौजूद है
संपादित करें: हाल ही में पता चला है कि आर्मल मर चुका है, और आर्म 64 सॉफ्टवेयर बिल्डर्स (पीपीए या वर्चुअल आधारित) सबसे स्थिर नहीं हैं। तो मेरे पास एक वाइल्डकार्ड खोज है arm*और इसे संभालने वाला है, लेकिन अभी भी एक लाइनर का पता लगाना आवश्यक है जो तीनों में से एक को लौटाता है - चाहे वह उबंटू / डेबियन कमांड हो या कर्नेल कॉल या कुछ और।
i386, i686और x86_64के आधार पर मामलों uname -m, लेकिन कुछ भी नहीं arm??... या कम से कम, कुछ भी नहीं है कि पहचान करता है armhf, armelया arm64) ।
uname -m, विशिष्ट हाथ बोर्ड से बाहर निकलता है armv7l। यह स्पष्ट रूप से नहीं कहा गया है कि क्या यह है armel, armhfया arm64- जो मुझे $(arch)असंगत ओएस वास्तुकारों के साथ खरपतवार के रूप में समाप्त करने की आवश्यकता है।
case $(arch) in ; armf)... ;; armel)... ;; arm64)... ;; *) exit ;; esacक्या आप इस तरह से कुछ करते हैं?