В bash Мне нужно запустить скрипт, который проходит от i = 1 до i = 99999999, но он всегда заканчивается из памяти. Есть ли обходной путь? или существует максимальное значение для i?Bash Script Loop Out of Memory?
first=1
last=99999999
randomString="CXCXQOOPSOIS"
for val in $(seq $first $last)
do
padVal=$(printf "%010d\n" $val)
hash=$(echo -n $randomString$padVal | md5sum)
if [[ "$hash" =~ ^000000) ]]; then
echo "Number: $val" >> log_000000
echo "$val added to log - please check."
fi
done
Что находится внутри цикла? Я предполагаю, что он не пуст? –
Кажется, что цикл выделяет новую память для каждого цикла, а общий размер выделенной памяти достигает системного предела, это не дает вам конкретного совета, не видя кода цикла. – sll
для значений i, я фактически добавляю его к строке, а затем md5 hash it. когда появляется хеш с выражением^123123, я хочу выйти из цикла. –