【问题标题】:generate fixed sequence for a given seed in linux在linux中为给定种子生成固定序列
【发布时间】:2013-06-16 09:18:13
【问题描述】:

我想生成固定的数字序列,这些数字在 linux 中随“种子”而变化。我正在使用以下命令进行操作。

export USR_SEED=91; export SEQ_START=53; export SEQ_LENGTH=15; bash -c 'RANDOM=$USR_SEED; for((i=1;i<=$SEQ_START;i++)); do echo -n $RANDOM >/dev/null; done; for((i=1;i<=$SEQ_LENGTH;i++)); do echo -n "$RANDOM "; done; echo'

每次我运行它时都会给出一个固定的顺序,但是当我在不同的机器上运行时顺序会改变。有没有办法在我每次运行它时生成一个固定的数字序列,而不考虑机器(64 位、32 位 linux 平台)。

-莫汉

【问题讨论】:

    标签: linux random fixed


    【解决方案1】:

    我在几台运行的 linux 机器上试了一下:

    • 3.8.0-23-generic、ubuntu、x86_64、bash 版本 4.2.45(1)-release
    • 2.6.32-5-686、debian、i686、bash 版本 4.1.5(1)-release
    • 2.6.32-5-amd64、debian、x86_64、bash 版本 4.2.37(1)-release

    在每种情况下,如果我使用相同的种子,我都会得到相同的结果。

    检查您是否正在运行不同的 bash 版本,或者是否有其他奇怪的东西可能会干扰您的结果。它应该完全按照你说的那样工作。

    【讨论】:

    • 我在 Fedora-16(32 位)和 fedora-18(64 位)上运行以下 cmd,我得到了不同的结果。导出 USR_SEED=91;导出 SEQ_START=53;导出 SEQ_LENGTH=15; bash -c '随机=$USR_SEED; for((i=1;i/dev/null;完毕; for((i=1;i
    猜你喜欢
    • 2020-10-13
    • 2020-06-22
    • 2022-08-17
    • 1970-01-01
    • 1970-01-01
    • 2014-01-10
    • 1970-01-01
    • 2021-07-31
    • 2011-04-03
    相关资源
    最近更新 更多