Não tenho certeza se entendi o que você precisa. Por favor, diga-me se o seguinte código não resolve o seu problema.
# !/bin/bash
echo "Please enter a number."
read NUM
while read -n1 DIGIT; do
echo "Digit: $DIGIT"
while true; do
RND=$((RANDOM%10))
if [[ "$RND" == "$DIGIT" ]]; then
echo "$RND matches.";
break;
else
echo "$RND doesn't match.";
fi
done
done < <(echo -n "$NUM" | rev)
Exemplo de saída:
Please enter a number.
537
Digit: 7
4 doesn't match.
6 doesn't match.
7 matches.
Digit: 3
3 matches.
Digit: 5
9 doesn't match.
7 doesn't match.
0 doesn't match.
5 matches.
Você pode substituir RND=$((RANDOM%10))
por RND="$(tr -dc '0-9' </dev/urandom | head -c 1)"
, mas o primeiro é mais rápido.
O seguinte código pode ser suficiente para você:
# !/bin/bash
echo "Please enter a number."
read NUM
RND=$((RANDOM%10))
if [[ $NUM == *"$RND"* ]]; then
echo "It matches";
fi