工作环境:Red Hat Enterprise Linux Server release 6.5 (Santiago) 、 bash

#!/bin/bash
#
count=0
while true
do
bw=$(($RANDOM%10))
sw=$(($RANDOM%10))
gw=$(($RANDOM%10))

if [ $bw -eq 0 ];then
echo "$bw$sw$gw"
echo "百位不可能是0,成功次数$count"
exit 100
elif [ $bw -eq $sw ];then
echo "$bw$sw$gw"
echo "两个数不能相同,成功次数$count"
exit 50
elif [ $bw -eq $gw ];then
echo "$bw$sw$gw"
echo "两个数不能相同,成功次数$count"
exit 50
elif [ $sw -eq $gw ];then
echo "$bw$sw$gw"
echo "两个数不能相同,成功次数$count"
exit 50
else
echo "$bw$sw$gw"
((count++))
fi
done


或者使用如下的方式

#!/bin/bash
#
su=$(($(($RANDOM%900))+100))

gw=$(($su%10))
sw=$(($(($su%100))/10))
bw=$(($su/100))
echo $gw
echo $sw
echo $bw

count=0
if [ $gw -eq $sw ];then
((count++))
elif [ $gw -eq $bw ];then
((count++))
elif [ $sw -eq $bw ];then
((count++))
fi

if [ $count -ge 1 ];then
exit
else
echo $su
fi