(बॅश): यादृच्छिक संख्या निर्माण करण्यासाठी कमांड

कधीकधी आम्ही यात काही स्क्रिप्ट प्रोग्राम करत असतो बॅश …. आणि आम्हाला (काही कारणास्तव) काही यादृच्छिक संख्या निर्माण करण्याची आवश्यकता आहे.

त्यासाठी आपण संपूर्ण अनुप्रयोग (किंवा फंक्शन ...) प्रोग्राम करू शकता होय, परंतु ... आमच्या सिस्टमने आधीच हे केले आहे already

टर्मिनलमध्ये, खालील टाइप करा आणि दाबा [प्रविष्ट करा]:

एको ND रँडम

... एक संख्या दिसेल, ते पुन्हा तेच करतात आणि दुसरे नंबर दिसतात आणि इत्यादी

हे आपल्याला 0 आणि 32768 दरम्यान यादृच्छिक संख्या दर्शविते (कोणत्याही)पूर्णांक, म्हणजे स्वल्पविरामांशिवाय).

आपणास हे यादृच्छिक संख्या असण्याची आवश्यकता असल्यास, परंतु 0 आणि ... दरम्यान 100 म्हणा, आपण त्यावर मर्यादा घालू शकता 😀

प्रतिध्वनी ((ND रँडम% 100))

तेच, दुसरे उदाहरण ... आपल्यास 0 आणि 29 मधील संख्या असावी असे वाटत असेल तर ते असेः

प्रतिध्वनी ((ND रँडम% 29))

हे समजले नाही का? 😀

ते ते करत असलेल्या बॅश स्क्रिप्टमध्ये वापरल्यास, व्युत्पन्न करण्यासाठी व्युत्पन्न मूल्य (यादृच्छिक संख्या) प्रदान करण्यासाठी ते असेः

विविध = `प्रतिध्वनी $ ((ND रँडम))`

बरं, हेच आहे, मला तुमच्याविषयी माहित नाही ... पण मला माहित आहे की हे केव्हाही माझ्यासाठी उपयोगी असेल हाहा.

कोट सह उत्तर द्या


आपली टिप्पणी द्या

आपला ई-मेल पत्ता प्रकाशित केला जाणार नाही. आवश्यक फील्ड चिन्हांकित केले आहेत *

*

*

  1. डेटा जबाबदार: मिगुएल Áन्गल गॅटन
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.

  1.   ऑस्कर म्हणाले

    बरं, मी त्याची चाचणी घेत आहे आणि हे फक्त 4-अंकी क्रमांक परत करते, ती कशी मोठी करावी?
    खूप मनोरंजक टीप, धन्यवाद.

    1.    केझेडकेजी ^ गारा म्हणाले

      0 आणि 32768 मधील नंबर मिळवते, मला मोठ्या संख्येने मिळवणे शक्य झाले नाही.

  2.   जॉस्यू म्हणाले

    आणि हे एक्झाडेसिमल व्युत्पन्न करू शकते ????

  3.   रावेन म्हणाले

    विविध = `प्रतिध्वनी $ ((ND रँडम))`

    हे कार्य करते परंतु इष्टतम नाही, साध्या कारणास्तव रेन्डम एक व्हेरिएबल आहे आणि आपण हे करू शकता:
    चल = ND रँडम
    आणि तेच! टर्मिनल aprte मध्ये प्रतिध्वनी चालवू नका (जे आपण करत आहात)

    1.    केझेडकेजी ^ गारा म्हणाले

      होय, हे निश्चितपणे हे प्राप्त केले जाऊ शकते ... फरक इतकाच आहे की नंतर, व्हेरिएबलने घेतलेली संख्या पाहण्यासाठी (वापरकर्ता उपभोक्ता अंदाजकर्ता नसल्याने), प्रतिध्वनी करणे आवश्यक आहे ... आणि शेवटी मी येथे सुरुवातीस फक्त एको करतो (जेणेकरुन वापरकर्त्याने कोणता नंबर घेतला आहे हे समजू शकेल).

      मी स्वत: ला समजावून सांगतो? 🙂

  4.   वुल्मर बोलिव्हर म्हणाले

    यादृच्छिक संख्या निर्माण करण्याचा दुसरा मार्ग, जरी यावेळी ही आज्ञा असेल:

    तारीख "+% एन" | कट-सी 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

    ...
    ...
    ...

    मला वाटते की हे बरोबर आहे ना? डाव्या बाजूस असलेल्या आकडेवारी अगदी थोड्या काळामध्ये अधिक समान आहे, नक्कीच आणि उजवीकडे असलेल्या अधिक "यादृच्छिक" आहेत.

  5.   काळा डोळा म्हणाले

    मिमी…. मला ते आवडले, माझ्याकडे एक मिनी स्क्रिप्ट आहे जी यादृच्छिक संख्या तयार करण्यासाठी बाकी आहे, धन्यवाद.

  6.   G. म्हणाले

    हे सर्व्ह करते .. आणि बरेच ..
    खासकरुन आपण संकेतशब्द, सुरक्षा वगैरे वगैरेसह बॅशमध्ये इंटरफेस प्रोग्राम करत असाल तर.
    उत्कृष्ट aprote.

  7.   जोसे अँटोनियो पाठलाग म्हणाले

    नमस्कार!
    सर्व प्रथम, अर्थातच, या उत्कृष्ट वेबसाइटवर अभिनंदन, जे मी बर्‍याच काळापासून अनुसरण करीत आहे.
    आणि दुसरे म्हणजे, या एंट्रीसाठी एक छोटीशी टीप बनवा:
    जेव्हा मर्यादा या प्रमाणे केली जाते:

    प्रतिध्वनी ((ND रँडम% 10))

    वास्तविक, आपण दुभाषेला काय ऑर्डर करता ते म्हणजे आपली व्युत्पन्न केलेली संख्या ही त्यानंतरच्या क्रमांकाची मॉड्यूलस% (विभागातील उर्वरित) असते, या उदाहरणात, 10.
    10 ने भागाकार केलेली कोणतीही संख्या भागाकारापेक्षा जास्त उरलेली वस्तू म्हणून कधीही देणार नाही.
    अडचण अशी आहे की ती एकसारखीच संख्या देत नाही, कारण 0 ने भागाकार दुभाषासाठी तार्किक नसते.

    याचा अर्थ असा की प्रतिध्वनी ((ND RANDOM% 10) 0 आणि 9 दरम्यान परिणाम देईल, परंतु कधीच 10 नाही.
    या विरोधाचा उपाय म्हणजे आपल्या मर्यादेमध्ये एक जोडणे, जेणेकरून समान संख्या यादृच्छिक श्रेणीत येईल.

    प्रतिध्वनी ((ND रँडम% 11))

    हे 0 ते 10 दरम्यान निकाल देईल.

    ग्रीटिंग्ज

  8.   amiel म्हणाले

    हॅलो, मी नुकतेच असे काहीतरी तयार करत होतो, परंतु मला एक समस्या आली.

    मला 6 ते 00 पर्यंत 45 भिन्न संख्या बनवायची आहेत परंतु त्यांची पुनरावृत्ती करायची नाही.

    इको $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($ यादृच्छिक% 46))

    उदा: 17 33 16 36 45 27