Я думаю, что нашел действительно странную ошибку в генераторе случайных чисел Баша ( $RANDOM
).
Показывать легче, чем рассказывать, вот что происходит:
Цель состоит в том, чтобы получить случайные цифры. Если я выполню это, я получу 20 случайных цифр, как и ожидалось.
for i in {1..20}; do echo $((RANDOM % 10)); done
Но если echo
утверждение написано в сценарии, я получаю действительно странную комбинацию цифр.
$ cat randomtest
#!/bin/bash
echo $((RANDOM % 10))
$ for i in {1..20}; do ./randomtest; done
9
8
8
6
7
5
5
4
4
2
3
1
1
1
0
0
8
9
7
7
Что происходит в мире?
Системная информация:
- Mac OS X 10.10.2
- GNU Bash, версия 4.3.30 (1) -релиз (устанавливается через Homebrew)
Хорошо здесь .... Вы запускали это много раз?
—
MiJyn
Да, и каждый раз это дает один и тот же странный пропуск вниз.
—
Стивенвейд
@MiJyn отредактировал, чтобы добавить системную информацию. Я на Mac OS X, но использую GNU Bash через Homebrew.
—
Стивенвейд