cygwin - मैं कैसे बताऊं कि मेरा साइबरइन इंस्टॉलेशन 32 है या 64 बिट?




(3)

NateT "uname --help" के अनुसार "मशीन हार्डवेयर नाम को प्रिंट करने" की सही आज्ञा देता है:

uname -m

मुझे "x86_64" या "i686" मिलता है, लेकिन कौन जानता है कि क्या वे तार बदलेंगे? यहाँ "uname -a" का पूरा आउटपुट है। WOW64 आपको बताता है कि 64-बिट विंडोज पर यह 32-बिट Cygwin है। 32-बिट पर आपको कोई विकल्प नहीं मिला है, है ना? ; -)

$ uname -a
CYGWIN_NT-6.1-WOW64 Pegasus 1.7.32(0.274/5/3) 2014-08-13 23:03 i686 Cygwin

अद्यतन: (धन्यवाद।) "।

Cygwin को उस थ्रेड के अनुसार गंभीरता से बैकवर्ड संगतता लगती है, लेकिन यह भी ध्यान दें कि MSYS2 के तहत आपको वैसे भी "मशीन हार्डवेयर नाम" पर भरोसा करना होगा और "कर्नेल नाम" नहीं:

$ uname -a
MSYS_NT-6.1 Pegasus 2.5.0(0.295/5/3) 2016-03-15 11:29 x86_64 Msys

मैं कैसे बताऊं कि मेरा साइबरइन इंस्टॉलेशन 32 है या 64 बिट? मुझे याद नहीं है कि कौन सा setup.exe डाउनलोड करना है। और मुझे अपने साइबर इंस्टॉलेशन को गड़बड़ करने से नफरत होगी।


अन्य उत्तर ओपी के प्रश्न को संबोधित करते हैं, लेकिन यदि आप मेरे जैसे हैं और साइगविन के दोनों स्वादों का उपयोग करते हैं, तो यह जानना उपयोगी है कि आप किसके लिए उपयोग कर रहे हैं, केवल setup.exe से अधिक। अगर मुझे पता है कि मेरी स्क्रिप्ट साइगविन पर चल रही है, तो मुझे पसंद है

uname -m

क्योंकि यह मुझे आउटपुट के रूप में केवल "x86_64" या "i686" देता है। मैं इसे "if" ब्लॉक में इस तरह से उपयोग कर सकता हूं:

if [ $(uname -m) == "x86_64" ]; then do something; fi

बेशक, आप "जीआरईपी" के साथ "अनाम" का भी उपयोग कर सकते हैं। यह व्यक्तिगत प्राथमिकता की बात है।


uname -m

और यह आउटपुट में x86_64 कहना चाहिए अगर यह 64-बिट है, या i686 अगर 32-बिट है।