कधीकधी आम्ही यात काही स्क्रिप्ट प्रोग्राम करत असतो बॅश …. आणि आम्हाला (काही कारणास्तव) काही यादृच्छिक संख्या निर्माण करण्याची आवश्यकता आहे.
त्यासाठी आपण संपूर्ण अनुप्रयोग (किंवा फंक्शन ...) प्रोग्राम करू शकता होय, परंतु ... आमच्या सिस्टमने आधीच हे केले आहे already
टर्मिनलमध्ये, खालील टाइप करा आणि दाबा [प्रविष्ट करा]:
एको ND रँडम
... एक संख्या दिसेल, ते पुन्हा तेच करतात आणि दुसरे नंबर दिसतात आणि इत्यादी
हे आपल्याला 0 आणि 32768 दरम्यान यादृच्छिक संख्या दर्शविते (कोणत्याही)पूर्णांक, म्हणजे स्वल्पविरामांशिवाय).
आपणास हे यादृच्छिक संख्या असण्याची आवश्यकता असल्यास, परंतु 0 आणि ... दरम्यान 100 म्हणा, आपण त्यावर मर्यादा घालू शकता 😀
प्रतिध्वनी ((ND रँडम% 100))
तेच, दुसरे उदाहरण ... आपल्यास 0 आणि 29 मधील संख्या असावी असे वाटत असेल तर ते असेः
प्रतिध्वनी ((ND रँडम% 29))
हे समजले नाही का? 😀
ते ते करत असलेल्या बॅश स्क्रिप्टमध्ये वापरल्यास, व्युत्पन्न करण्यासाठी व्युत्पन्न मूल्य (यादृच्छिक संख्या) प्रदान करण्यासाठी ते असेः
विविध = `प्रतिध्वनी $ ((ND रँडम))`
बरं, हेच आहे, मला तुमच्याविषयी माहित नाही ... पण मला माहित आहे की हे केव्हाही माझ्यासाठी उपयोगी असेल हाहा.
कोट सह उत्तर द्या
बरं, मी त्याची चाचणी घेत आहे आणि हे फक्त 4-अंकी क्रमांक परत करते, ती कशी मोठी करावी?
खूप मनोरंजक टीप, धन्यवाद.
0 आणि 32768 मधील नंबर मिळवते, मला मोठ्या संख्येने मिळवणे शक्य झाले नाही.
आणि हे एक्झाडेसिमल व्युत्पन्न करू शकते ????
विविध = `प्रतिध्वनी $ ((ND रँडम))`
हे कार्य करते परंतु इष्टतम नाही, साध्या कारणास्तव रेन्डम एक व्हेरिएबल आहे आणि आपण हे करू शकता:
चल = ND रँडम
आणि तेच! टर्मिनल aprte मध्ये प्रतिध्वनी चालवू नका (जे आपण करत आहात)
होय, हे निश्चितपणे हे प्राप्त केले जाऊ शकते ... फरक इतकाच आहे की नंतर, व्हेरिएबलने घेतलेली संख्या पाहण्यासाठी (वापरकर्ता उपभोक्ता अंदाजकर्ता नसल्याने), प्रतिध्वनी करणे आवश्यक आहे ... आणि शेवटी मी येथे सुरुवातीस फक्त एको करतो (जेणेकरुन वापरकर्त्याने कोणता नंबर घेतला आहे हे समजू शकेल).
मी स्वत: ला समजावून सांगतो? 🙂
यादृच्छिक संख्या निर्माण करण्याचा दुसरा मार्ग, जरी यावेळी ही आज्ञा असेल:
तारीख "+% एन" | कट-सी 9
ते आम्हाला 9 अंकांसह नॅनोसेकंदमध्ये तारीख देईल. जर आम्हाला एकच आकृती पाहिजे असेल तर आपण "कट-सी 9" लावा (शेवटची आकृती नेहमीच अधिक यादृच्छिक असते कारण ती संख्या सर्वात लहान असते). जर आम्हाला 2 आकृत्या हव्या असतील तर आम्ही "कट - सी 8,9" ठेवले. जर आपल्याला तीन आकृत्या हव्या असतील तर "कट-सी 7-9" (आम्ही हायफन वापरणे सुरू करतो).
आपल्याला थोड्या वेळात सलग बर्याच यादृच्छिक संख्ये प्राप्त करायच्या असतील तर त्याबद्दल फक्त एकच वाईट गोष्ट आहे कारण ही आपल्या वेळेच्या तारखेवर आधारित यादृच्छिक संख्या आहे. म्हणजेच जर आपण या कमांडची पूर्तता केली तर आपण ते पाहू शकतो:
$ मी `सेक 1 1 500` मध्ये; करू तारीख "+% एन"; केले
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
मला वाटते की हे बरोबर आहे ना? डाव्या बाजूस असलेल्या आकडेवारी अगदी थोड्या काळामध्ये अधिक समान आहे, नक्कीच आणि उजवीकडे असलेल्या अधिक "यादृच्छिक" आहेत.
मिमी…. मला ते आवडले, माझ्याकडे एक मिनी स्क्रिप्ट आहे जी यादृच्छिक संख्या तयार करण्यासाठी बाकी आहे, धन्यवाद.
हे सर्व्ह करते .. आणि बरेच ..
खासकरुन आपण संकेतशब्द, सुरक्षा वगैरे वगैरेसह बॅशमध्ये इंटरफेस प्रोग्राम करत असाल तर.
उत्कृष्ट aprote.
नमस्कार!
सर्व प्रथम, अर्थातच, या उत्कृष्ट वेबसाइटवर अभिनंदन, जे मी बर्याच काळापासून अनुसरण करीत आहे.
आणि दुसरे म्हणजे, या एंट्रीसाठी एक छोटीशी टीप बनवा:
जेव्हा मर्यादा या प्रमाणे केली जाते:
प्रतिध्वनी ((ND रँडम% 10))
वास्तविक, आपण दुभाषेला काय ऑर्डर करता ते म्हणजे आपली व्युत्पन्न केलेली संख्या ही त्यानंतरच्या क्रमांकाची मॉड्यूलस% (विभागातील उर्वरित) असते, या उदाहरणात, 10.
10 ने भागाकार केलेली कोणतीही संख्या भागाकारापेक्षा जास्त उरलेली वस्तू म्हणून कधीही देणार नाही.
अडचण अशी आहे की ती एकसारखीच संख्या देत नाही, कारण 0 ने भागाकार दुभाषासाठी तार्किक नसते.
याचा अर्थ असा की प्रतिध्वनी ((ND RANDOM% 10) 0 आणि 9 दरम्यान परिणाम देईल, परंतु कधीच 10 नाही.
या विरोधाचा उपाय म्हणजे आपल्या मर्यादेमध्ये एक जोडणे, जेणेकरून समान संख्या यादृच्छिक श्रेणीत येईल.
प्रतिध्वनी ((ND रँडम% 11))
हे 0 ते 10 दरम्यान निकाल देईल.
ग्रीटिंग्ज
हॅलो, मी नुकतेच असे काहीतरी तयार करत होतो, परंतु मला एक समस्या आली.
मला 6 ते 00 पर्यंत 45 भिन्न संख्या बनवायची आहेत परंतु त्यांची पुनरावृत्ती करायची नाही.
इको $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ यादृच्छिक% 46))
उदा: 17 33 16 36 45 27