RANDOM=42 (( dice[RANDOM%6+1 + RANDOM%6+1]++ )) echo ${dice[5]} (( ++dice[RANDOM%6+1 + RANDOM%6+1] )) echo ${dice[6]} v=4 DIND=20 (( dice[DIND%6 + 1]=v )) echo ${dice[3]} RANDOM=42 (( dice[RANDOM%6+1 + RANDOM%6+1]+=v )) echo ${dice[5]} (( dice[RANDOM%6+1 + RANDOM%6+1]-=v )) echo ${dice[6]} (( dice[RANDOM%6+1 + RANDOM%6+1]+=2 )) echo ${dice[11]} (( dice[RANDOM%6+1 + RANDOM%6+1]*=2 )) echo ${dice[11]} unset dice1 dice2 RANDOM=42 for i in {1..5000}; do ((dice1[$RANDOM%6+1 + $RANDOM%6+1]++)); done; unset t; for i in ${dice1[@]}; do ((t+=i)); done; echo $t foo="${dice1[@]}" RANDOM=42 for i in {1..5000}; do ((dice2[RANDOM%6+1 + RANDOM%6+1]++)); done; unset t; for i in ${dice2[@]}; do ((t+=i)); done; echo $t bar="${dice2[@]}" if [ "$foo" != "$bar" ]; then echo "random sequences differ" fi