1

我想生成固定的数字序列,这些数字在 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 平台)。

-莫汉

4

1 回答 1

0

我在几台运行的 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 版本,或者是否有其他奇怪的东西可能会干扰您的结果。它应该完全按照你说的那样工作。

于 2013-06-16T09:41:02.707 回答