有時,我們在其中編寫一些腳本 巴什 …。 而且我們(出於某種原因)需要生成一些隨機數。
為此,您可以對整個應用程序(或功能...)進行編程,但是……奇怪的是我們的系統已經完成了此任務😀
在終端中,鍵入以下內容,然後按 [輸入]:
迴聲$ RANDOM
...一個數字將出現,他們再次執行相同的操作,另一個數字出現,依此類推
它的作用是為您顯示0到32768之間的隨機數(任意)(整數,即沒有逗號).
如果您需要將其設為一個隨機數,但應介於0到...之間,例如100,則可以將其設置為put
迴聲$((($ RANDOM%100))
同樣,另一個示例...如果希望它是0到29之間的數字,則為:
迴聲$((($ RANDOM%29))
不明白嗎? 😀
如果他們要在執行的bash腳本中使用它,則將生成的值(隨機數)分配給變量,它將是:
VARIABLE =`echo $((($ RANDOM))`
好吧,就是這樣,我不了解您...但是我知道這在某些時候對我很有用哈哈哈。
問候
好吧,我一直在測試它,它只返回一個4位數的數字,我如何使其更大?
非常有趣的提示,謝謝。
返回0到32768之間的數字,我無法獲取更大的數字。
並可以產生出超額收益嗎???
VARIABLE =`echo $((($ RANDOM))`
這是可行的,但不是最佳選擇,原因很簡單,因為RANDOM是變量,您可以執行以下操作:
變量= $ RANDOM
就是這樣! 不要在終端應用程序中運行echo(這是您正在做的)
是的,顯然可以這樣實現...唯一的區別是,稍後,要查看變量所佔用的數字(因為用戶不是猜測者),就必須執行回顯...。 最後,我在這裡要做的只是從一開始就進行回顯(以便用戶可以看到所取的數字)。
我能使自己了解嗎? 🙂
生成隨機數的另一種方法,儘管這次是以下命令:
日期“ +%N” | 切-c 9
這將使我們獲得以9位數為單位的以納秒為單位的日期。 如果我們只需要一個數字,則可以輸入“ cut -c 9”(最後一個數字總是隨機的,因為它是數字中最小的)。 如果我們想要2位數字,則我們輸入“ cut-c 8,9”。 如果我們要三個數字,則“ cut -c 7-9”(我們開始使用連字符)。
唯一不好的事情是,如果我們想在短時間內連續獲得多個隨機數,因為這是一個基於日期及其時間的隨機數。 也就是說,如果我們使用該命令做一個for,我們可以看到:
$ for i in`seq 1 1`; 做日期“ +%N”; 完成
...
...
...
308311367
310807595
313273093
315725181
318186139
320671403
323360117
325733353
328335462
330694870
333259893
335858999
338375622
340798446
...
...
...
我認為很明顯吧? 當然,左側的數字在短時間內更相似,而右側的數字則更“隨機”。
嗯... 我喜歡它,我有一個微型腳本,可以繪製成隨機數,謝謝。
它的作用是..還有很多..
特別是如果您正在使用密碼,安全性等在bash中編程接口,等等等等哈哈。
優秀的變性人。
您好!
首先,首先,祝賀這個出色的網站,我已經關注了很長時間。
其次,對此條目做一個小記錄:
當這樣限制時:
迴聲$((($ RANDOM%10))
實際上,您訂購解釋器的是,您生成的數字始終是後繼數字的模數%(除法除數),在此示例中為10。
除以10的任何數字永遠不會比除數本身大。
問題在於它也不會給出相同的數字,因為對於解釋器來說,除以0並不邏輯。
這意味著echo $((($ RANDOM%10)將給出0到9之間的結果,但絕不會給出10。
解決此衝突的方法是將您的限制加一個,以使相同的數字落在隨機範圍內。
迴聲$((($ RANDOM%11))
這將得出0到10之間的結果。
問候。
你好,我只是在構建這樣的東西,但我遇到了一個問題。
我想從 6 到 00 製作 45 個不同的數字,但不重複它們。
迴聲 $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($RANDOM%46)) $(($隨機%46))
例如:17 33 16 36 45 27