【问题标题】:Linux 30-digit random number generator [closed]Linux 30 位随机数生成器 [关闭]
【发布时间】:2016-04-04 23:41:07
【问题描述】:

我得到了一个必须在 linux 命令行中完成的任务。

使用forwhileuntil 在 linux 命令行中创建一个生成 30 位随机数的脚本:

a) no delay
b) 2 seconds delay

老实说,我不知道该怎么做。它不能包括 python 或 perl。 我只是一个初学者,所以任何帮助表示赞赏!

【问题讨论】:

  • 而且我们不免费做作业^^
  • 到目前为止,我已经测试了tr -dc '0-9' </dev/urandom | head -c 30 的可能性,但这不是我想要的,因为结果看起来很像:<numbers here>server:~$ 鉴于 python 也被排除在外,我不能使用 @ 987654327@
  • ^^ tr -dc '0-9' </dev/urandom | head -c 30; echo 看起来如何? :P

标签: linux bash shell command-line


【解决方案1】:

这里我们从 0..255 中获取一个数字

n=`dd if=/dev/urandom bs=1 count=1 status=none | od -tu1 -Anone`

我把它映射到 0..9 并做 30 次作为学生的练习....

【讨论】:

    【解决方案2】:

    试试这个:

    # wait 2 seconds or use "sleep 2"
    SECONDS=0; while [ $SECONDS -ne 2 ]; do :; done
    
    n=""
    for ((i=0;i<30;i++)); do n+="$(($RANDOM%10))"; done; echo "$n"
    

    请参阅:help whilehelp testhelp for

    【讨论】:

    • 谢谢!这基本上解决了整个问题!我以为我不能那样使用 $RANDOM 。获得的知识!
    • 为什么要休眠2秒?
    • @anishsane:OP 要求延迟 2 秒。
    • 哦... :D... 我以为是种子初始化之类的东西 :P
    猜你喜欢
    • 1970-01-01
    • 2018-05-20
    • 1970-01-01
    • 1970-01-01
    • 2013-04-15
    • 1970-01-01
    • 2016-09-02
    • 2011-10-26
    相关资源
    最近更新 更多