यादृच्छिक संख्याओं के लिए वैरिएबल कैसे सेट करें



समस्याओं को खत्म करने के लिए हमारे साधन का प्रयास करें

आप आसानी से बैश प्रॉम्प्ट पर एक यादृच्छिक संख्या उत्पन्न कर सकते हैं, जिसे आप फिर एक चर के रूप में उक्त संख्या सेट करने के लिए उपयोग कर सकते हैं। यह कुछ प्रकार की स्क्रिप्ट लिखने से लेकर टेबलटॉप रोलप्लेइंग एडवेंचर चलाने तक सभी के लिए उपयोगी है। चाहे आप डी एंड डी अभियान लिख रहे हों या शक्तिशाली बैश भाषा में उपयोगिता लिख ​​रहे हों, आप आमतौर पर कोड की एक पंक्ति के साथ भाग सकते हैं। यह एक बहुत ही उपयोगी उपकरण है जब कुछ सुरक्षा जांचों को रोकने का प्रयास किया जाता है, लेकिन आप यह याद रखना चाहते हैं कि अच्छे पटाखे इन सरल संख्या जनरेटर को दरकिनार कर सकते हैं। वे अभी भी कुछ प्रकार के पासवर्ड और कोड बनाने के लिए उपयोगी हैं, जो किसी भी तरह चीजों को सुरक्षित रखने में मदद कर सकते हैं।



इसे पूरा करने के लिए कुछ अलग तरीके हैं, और हर तकनीक हर स्थिति के लिए सही नहीं है, इसलिए हमने प्रत्येक तरीके पर एक नज़र डालने की पूरी कोशिश की और इसे सुनिश्चित करने के लिए परीक्षण किया। आपको इसके लिए एक टर्मिनल से काम करने की आवश्यकता होगी, इसलिए या तो एक ग्राफिकल टर्मिनल खोलने के लिए Ctrl + Alt + T या Super (Windows) + T का उपयोग करें, डैश में टर्मिनल टाइप करके एक शुरू करें, इसे एप्लिकेशन या व्हिस्कर में से चुनें और सिस्टम टूल मेनू या Ctrl, Alt और F1 और F6 के बीच की कुंजी का उपयोग करके बयाना में एक वर्चुअल टर्मिनल पर जाएं।



विधि 1: पूर्ण रैंडम बाइट चुनना

आप निम्नलिखित कमांड को सीधे bash प्रॉम्प्ट से चलाकर 1 से 256 के बीच एक यादृच्छिक संख्या उत्पन्न कर सकते हैं:



-An -N1 -tu1 / dev / urandom का

जब आप कभी-कभी इस आदेश को / dev / urandom के बजाय / dev / random के संदर्भ में देख सकते हैं, तो आप शायद इस तरह से नहीं चलना चाहते। यह अनजाने में आपके उपयोग के दौरान यादृच्छिक बीज जनरेटर का उपयोग करने में सक्षम होने से अन्य कार्यक्रमों को लूट सकता है। एक बार जब आप प्रोग्राम को चला लेंगे और एक नंबर प्राप्त कर लेंगे, तो आप यह सुनिश्चित कर सकते हैं कि यह इस तरह से भी काम करेगा:



रैनम = $ (($ (odn -N1 -tu1 / dev / urandom))

यह आपके द्वारा चलाए जाने वाले समय में चयनित, चर संख्या 1 और 256 के बीच एक संख्या पर सेट करेगा। आप इसे कमांड लाइन से या किसी स्क्रिप्ट के अंदर से चला सकते हैं और इसे किसी भी तरह से काम करना चाहिए। ध्यान रखें कि आप किसी भी मान्य वैरिएबल नाम के साथ रैनम को बदल सकते हैं।

विधि 2: 1 और जो भी के बीच एक यादृच्छिक संख्या के लिए एक चर सेट करना

आप 1 से 40 मानक मानक के बीच एक यादृच्छिक संख्या भेजने के लिए कमांड लाइन से $ $ [RANDOM% 40 + 1] चला सकते हैं, लेकिन आप कमांड में 40 को लगभग किसी भी संख्या से बदल सकते हैं। अंततः आपकी मेजबान मशीन का आर्किटेक्चर अंकों से बाहर चला जाएगा या शायद बैश कर देगा, लेकिन यह संदिग्ध है कि आपको वैसे भी इतनी अधिक संख्या की आवश्यकता है।

मान लें कि आप अपने चर कॉन्फ़िगरेशन के लिए 1 और 10 के बीच एक यादृच्छिक संख्या उत्पन्न करना चाहते हैं। आप दौड़ सकते हैं:

ranNum = $ [यादृच्छिक% 10 + 1]

ध्यान रखें कि आप जो चाहें ऊपरी मूल्य के साथ 10 को बदल सकते हैं। यह मान समावेशी है, जिसका अर्थ है कि 10 एक वैध रिटर्न आंकड़ा है। यदि आप इसे एक से कम करना चाहते हैं, तो बस C या C ++ शैली -1 गणित का उपयोग करने के बजाय मान 9 बनाएं। इस पद्धति का उपयोग करके एक चर सेट करते समय ये अनावश्यक हैं, और वे वास्तव में अंकों को जोड़ या घटाकर अप्रत्याशित परिणाम उत्पन्न करते हैं।

विधि 3: एकल रैंडम बिट का चयन करना

यदि आपको एक चर को यादृच्छिक या तो शून्य या एक पर सेट करने की आवश्यकता है, तो आप पिछले कोड को निम्नानुसार संशोधित करना चाह सकते हैं:

रन्नुम = $ (($ (ओ.एन.-एन 1-आई / देव / यूरेनियम)% 2)

यह कोड या तो 1 या 0 पर रन-सेट करेगा या नहीं, यह इस बात पर निर्भर करता है कि इसमें से कितने अंक आए हैं / Dev / urandom फ़ाइल भी या विषम थी। यह उपयोगी हो सकता है यदि आपको एक या दूसरे राज्य के लिए एक सरल हां या कोई समीकरण सेट करने की आवश्यकता है।

यदि आप जिस पर काम कर रहे हैं, उसके लिए यह पर्याप्त रूप से यादृच्छिक नहीं है, तो आपको / proc / sys / कर्नेल / यादृच्छिक निर्देशिका के लिए कॉल करके थोड़ा और अधिक यादृच्छिक संख्या मिल सकती है:

भाड़ा = $ ((0x $ (कट -c1-1 / proc / sys / कर्नेल / यादृच्छिक / uuid)% 2))

एक बार फिर, हालांकि, यह केवल चर को 1 या 0 पर सेट करेगा, जो कि द्विआधारी तर्क के लिए एकदम सही है, लेकिन ऐसे समय के लिए उपयोगी नहीं है जब आपको एक लंबी संख्या की आवश्यकता हो सकती है। हालाँकि, यदि आप को ऐसा करने की कोई आवश्यकता थी, तो आप इन पंक्तियों में से किसी का भी उपयोग कर सकते हैं। यह दूसरा विकल्प वास्तव में उन स्थितियों के लिए बेहतर हो सकता है जहां पहले के रूप में अच्छी तरह से विफल रहता है

विधि 4: रैंडम नंबर्स को वापस करने के लिए स्क्रिप्टिंग बैश ऑथरिंग

यदि आप किसी भी समय एक यादृच्छिक संख्या उत्पन्न करने के लिए एक उपयोगी उपकरण रखना चाहते हैं, तो आप ऐसा करने के लिए एक कमांड लाइन स्क्रिप्ट बना सकते हैं। यह मानक बैश भाषा से अधिक कुछ भी उपयोग नहीं करता है जो कि अधिकांश आधुनिक लिनक्स संकेतों में है, इसलिए किसी भी आधुनिक लिनक्स वितरण में बहुत अधिक है और बीएसडी-आधारित ऑपरेटिंग सिस्टम में से कुछ को बस इसे ठीक करना चाहिए। आप किसी भी स्थान पर जाने से पहले cd ~ / .local / bin का उपयोग करना चाह सकते हैं, ताकि आपके पास अपनी स्क्रिप्ट ऐसी जगह हो जहां आप उसे कहीं से भी निष्पादित कर सकें।

शुरू करने के लिए नैनो यादृच्छिक या vi यादृच्छिक टाइप करें, हालाँकि आप अपनी स्क्रिप्ट के लिए एक अलग नाम का उपयोग कर सकते हैं यदि आप चाहें। यदि आप चाहें, तो आप किसी अन्य टेक्स्ट एडिटर का भी उपयोग कर सकते हैं। कहते हैं कि आप एक बनाना चाहते थे जो कमांड लाइन पर टाइप करने पर 1 या 0 वापस आ जाए। यदि आप नैनो का उपयोग कर रहे हैं, तो उसे दर्ज करें और फिर इसे बचाने के लिए Ctrl + O पुश करें:

#! / बिन / बैश रैनम = $ (($ रैंडम% 2)) इको $ रैनम

पाठ संपादक से बाहर निकलने के लिए Ctrl + X टाइप करें और एक बार वापस कमांड लाइन पर अपनी स्क्रिप्ट को प्रयोग करने योग्य बनाने के लिए chmod + x का उपयोग करें। आप निश्चित रूप से ranNum = $ [RANDOM% 10 + 1], ranNum = $ ((($ -An -N1 -tu1 / dev / urandom)) का उपयोग कर सकते हैं) या ranNum = $ ($ (के स्थान पर कोई अन्य पंक्ति) का उपयोग कर सकते हैं रैंडम% 2)) ताकि आप वास्तव में नियंत्रित कर सकें कि आप किस प्रकार की संख्या वापस चाहते हैं। मान लें कि आप नियमित रूप से 1 और 50 के बीच की संख्या का चयन करना चाहते हैं। बैश स्क्रिप्ट के टेक्स्ट को इसमें बदलें:

#! / बिन / बैश रैनम = $ [रैंडम% 50 + 1] इको $ रैनम

जब भी आप एक यादृच्छिक संख्या उत्पन्न करना चाहें, तो आप इसे यादृच्छिक रूप से टाइप करके कमांड लाइन से आसानी से चला सकते हैं।

4 मिनट पढ़ा