विधि 1:एक पूर्ण यादृच्छिक बाइट चुनना
<पी> आप बैश प्रॉम्प्ट से सीधे निम्नलिखित कमांड चलाकर 1 और 256 के बीच एक यादृच्छिक संख्या उत्पन्न कर सकते हैं: <पी> od -An -N1 -tu1 /dev/urandom पी> <पी> पी> <पी> हालाँकि आप कभी-कभी इस कमांड को /dev/urandom के बजाय /dev/random के संदर्भ में देख सकते हैं, आप शायद इस तरह से चलाना नहीं चाहेंगे। यह आपके उपयोग के दौरान अनजाने में अन्य प्रोग्रामों को यादृच्छिक बीज जनरेटर का उपयोग करने से वंचित कर सकता है। एक बार जब आप प्रोग्राम चला लेते हैं और एक नंबर प्राप्त कर लेते हैं, तो आप निश्चिंत हो सकते हैं कि यह इस तरह से भी काम करेगा: <पी> ranNum=$(($(od -An -N1 -tu1 /dev/urandom))) पी> <पी> पी> <पी> यह वेरिएबल ranNum को 1 और 256 के बीच एक संख्या पर सेट कर देगा, जिसे आपके चलाते समय चुना गया था। आप इसे कमांड लाइन से या स्क्रिप्ट के अंदर से चला सकते हैं और इसे किसी भी तरह से काम करना चाहिए। ध्यान रखें कि आप ranNum को किसी भी मान्य वैरिएबल नाम से बदल सकते हैं।विधि 2:एक वेरिएबल को 1 और जो भी हो, के बीच एक यादृच्छिक संख्या पर सेट करना
<पी> आप 1 और 40 के बीच एक यादृच्छिक संख्या को सीधे मानक आउटपुट पर भेजने के लिए कमांड लाइन से echo $[RANDOM%40+1] चला सकते हैं, लेकिन आप कमांड में 40 को वस्तुतः किसी भी संख्या से भी बदल सकते हैं। आख़िरकार आपकी होस्ट मशीन का आर्किटेक्चर अंकों से बाहर हो जाएगा या शायद बैश हो जाएगा, लेकिन यह संदिग्ध है कि आपको वैसे भी इतनी अधिक संख्या की आवश्यकता है। <पी> आइए मान लें कि आप अपने वैरिएबल कॉन्फ़िगरेशन के लिए 1 और 10 के बीच एक यादृच्छिक संख्या उत्पन्न करना चाहते हैं। आप दौड़ सकते हैं: <पी> ranNum=$[RANDOM%10+1] पी> <पी> पी> <पी> ध्यान रखें कि आप 10 को अपनी इच्छानुसार किसी भी ऊपरी मान से बदल सकते हैं। यह मान समावेशी है, जिसका अर्थ है कि 10 एक वैध लौटाया गया आंकड़ा है। यदि आप इसे एक से कम करना चाहते हैं, तो C या C++ शैली -1 गणित का उपयोग करने के बजाय बस मान 9 कर दें। इस पद्धति का उपयोग करके एक चर सेट करते समय ये अनावश्यक हैं, और वे वास्तव में अंकों को जोड़कर या घटाकर अप्रत्याशित परिणाम उत्पन्न करेंगे।विधि 3:एकल यादृच्छिक बिट का चयन
<पी> यदि आपको किसी वेरिएबल को शून्य या एक के यादृच्छिक बिट पर सेट करने की आवश्यकता है, तो आप पिछले कोड को निम्नानुसार संशोधित करना चाह सकते हैं: <पी> ranNum=$(($(od -An -N1 -i /dev/urandom) % 2)) पी> <पी> यह कोड ranNum को 1 या 0 पर सेट करेगा, यह इस बात पर निर्भर करेगा कि उसने /dev/urandom से जिन संख्याओं का नमूना लिया है। फ़ाइल सम या विषम थी। यह उपयोगी हो सकता है यदि आपको एक या दूसरे राज्य के लिए एक सरल हां या ना समीकरण सेट करने की आवश्यकता है। <पी> यदि आप जिस पर काम कर रहे हैं उसके लिए यह पर्याप्त रूप से यादृच्छिक नहीं है, तो आप /proc/sys/kernel/random निर्देशिका पर कॉल करके थोड़ा अधिक यादृच्छिक नंबर प्राप्त कर सकते हैं: <पी> ranNum=$((0x$(cut -c1-1 /proc/sys/kernel/random/uuid) % 2)) पी> <पी> हालाँकि, एक बार फिर, यह वेरिएबल को केवल 1 या 0 पर सेट करेगा, जो बाइनरी लॉजिक के लिए बिल्कुल सही है लेकिन उस समय के लिए उतना उपयोगी नहीं है जब आपको लंबी संख्या की आवश्यकता हो सकती है। हालाँकि, यदि आपको ऐसा करने की कोई आवश्यकता है, तो आप बैश स्क्रिप्ट में इनमें से किसी भी पंक्ति का उपयोग कर सकते हैं। यह दूसरा विकल्प वास्तव में उन स्थितियों के लिए बेहतर हो सकता है जहां पहला भी विफल रहता हैविधि 4:यादृच्छिक संख्याएँ लौटाने के लिए बैश स्क्रिप्ट लिखना
<पी> यदि आप किसी भी समय यादृच्छिक संख्या उत्पन्न करने के लिए एक उपयोगी उपकरण चाहते हैं, तो आप ऐसा करने के लिए एक कमांड लाइन स्क्रिप्ट बना सकते हैं। यह अधिकांश आधुनिक लिनक्स प्रॉम्प्ट की मानक बैश भाषा से अधिक कुछ भी उपयोग नहीं करता है, इसलिए लगभग किसी भी आधुनिक लिनक्स वितरण और कुछ बीएसडी-आधारित ऑपरेटिंग सिस्टम को इसे ठीक से संभालना चाहिए। आप यह सुनिश्चित करने के लिए आगे बढ़ने से पहले cd ~/.local/bin का उपयोग करना चाह सकते हैं कि आपकी स्क्रिप्ट ऐसी जगह पर है जहां आप इसे कहीं से भी निष्पादित कर सकते हैं। <पी> आरंभ करने के लिए नैनो रैंडम या vi रैंडम टाइप करें, हालाँकि यदि आप चाहें तो आप अपनी स्क्रिप्ट के लिए एक अलग नाम का उपयोग कर सकते हैं। यदि आप चाहें तो आप किसी अन्य टेक्स्ट एडिटर का भी उपयोग कर सकते हैं। मान लें कि आप एक ऐसा बनाना चाहते थे जो कमांड लाइन पर टाइप करने पर 1 या 0 लौटाए। यदि आप नैनो का उपयोग कर रहे हैं तो निम्नलिखित दर्ज करें और फिर इसे सहेजने के लिए Ctrl+O दबाएं: <पी> #!/bin/bash ranNum=$(($RANDOM % 2)) echo $ranNum पी> <पी> पी> <पी> टेक्स्ट एडिटर से बाहर निकलने के लिए Ctrl+X टाइप करें और कमांड लाइन पर वापस आकर अपनी स्क्रिप्ट को प्रयोग करने योग्य बनाने के लिए chmod +x रैंडम का उपयोग करें। आप निश्चित रूप से ranNum=$[RANDOM%10+1], ranNum=$(($(od -An -N1 -tu1 /dev/urandom))) या ranNum=$(($RANDOM % 2)) के स्थान पर किसी अन्य लाइन का उपयोग कर सकते हैं ताकि आप यह नियंत्रित कर सकें कि आप किस प्रकार का नंबर वापस चाहते हैं। मान लीजिए कि आप नियमित रूप से 1 और 50 के बीच एक संख्या का चयन करना चाहते थे। बैश स्क्रिप्ट के टेक्स्ट को इसमें बदलें: <पी> #!/bin/bash ranNum=$[RANDOM%50+1] echo $ranNum पी> <पी> अब आप जब भी कोई रैंडम नंबर जनरेट करना चाहें, रैंडम टाइप करके इसे कमांड लाइन से आसानी से चला सकते हैं। <पी> लेखक के बारे में <पी>
<पी> केविन एरो <पी> केविन एरो एक दशक से अधिक के उद्योग अनुभव के साथ एक अत्यधिक अनुभवी और जानकार प्रौद्योगिकी विशेषज्ञ हैं। उनके पास माइक्रोसॉफ्ट सर्टिफाइड टेक्नोलॉजी स्पेशलिस्ट (एमसीटीएस) प्रमाणन है और नवीनतम तकनीकी विकास के बारे में अपडेट रहने का उनमें गहरा जुनून है। केविन ने सॉफ्टवेयर विकास, साइबर सुरक्षा और क्लाउड कंप्यूटिंग जैसे क्षेत्रों में अपनी विशेषज्ञता और ज्ञान का प्रदर्शन करते हुए तकनीक से संबंधित विषयों की एक विस्तृत श्रृंखला पर विस्तार से लिखा है। तकनीकी क्षेत्र में उनके योगदान को उनके साथियों द्वारा व्यापक रूप से मान्यता और सम्मान दिया गया है, और जटिल तकनीकी अवधारणाओं को स्पष्ट और संक्षिप्त तरीके से समझाने की उनकी क्षमता के लिए उन्हें अत्यधिक सम्मानित किया जाता है। पी>