Оболочка не может выполнять математические операции с плавающей запятой, но если мы просто переместим десятичную точку, мы сможем использовать $RANDOM
и целочисленные математические операции:
#!/usr/local/bin/bash
array=("foo" "bar" "baz")
dieroll=$(($RANDOM % 1000))
if [[ "$dieroll" -lt 1 ]]; then
printf "%s\n" "${array[2]}"
elif [[ "$dieroll" -lt 266 ]]; then
printf "%s\n" "${array[1]}"
else
printf "%s\n" "${array[0]}"
fi
Преимущество этого заключается в том, что не нужно раздувать массив до 1000 записей или использовать какие-либо for
циклы.
Проблема заключалась в том, что виртуальный диск, на котором находился мой домашний каталог (/rw
), был заполнен. Виден через vgs
или lvs
.
Увеличение размера личного хранилища для ВМ сразу же устранило все эти проблемы.