J'utilise le script shell suivant pour vérifier l'ensemble de l'adresse IP et du port du fichier csv. Mais il casse toujours la boucle while et ne montre que le premier résultat. Mais n'importe comment sans erreur le script atteint aussi la dernière ligne. Comment réparer le problème de la rupture de la boucle dans telnet?script shell telnet ignorer la boucle while au premier point
echo "starts"
while read p; do
if [ ! -z "$p" -a "$p" != " " ]; then
IP=`echo $p | cut -d',' -f1`
PORT=`echo $p | cut -d',' -f2`
TELNET_STR=`telnet "$IP" "$PORT" | grep "Connected"`
if [ ! -z "$TELNET_STR" -a "$TELNET_STR" != " " ]; then
echo '[success]:'$IP':'$PORT
else
echo '[failed]:'$IP':'$PORT
fi
fi
done <telnet.csv
echo "ends"
telnet.csv
234.253.245.23,80,1
234.089.108.216,8080,1
234.23.23.216,21,1
Essayez de coller votre script dans shellcheck ... http://www.shellcheck.net/ –