Вы неправильно создаете массив. Если используемая оболочка поддерживает его, вы можете сделать следующее:
Ids=( 1 2 3 )
echo "${Ids[$RANDOM % ${#Ids}]}"
Обратите внимание, что вы используете ()
для создания массива, и не должно быть пробелов вокруг =
. Когда вы пишете $Ids
, это дает вам первый элемент массива, поэтому $(( $RANDOM % $Ids ))
вычисляет $RANDOM % 0
, поэтому я предполагаю, что вы получаете ошибки, подобные 28072 % 0: division by 0
. Это помогло бы, если бы вместо невзрачного "I" Я получаю сообщение об ошибке ", вы указали, какую ошибку вы получаете.