Я использую следующий сценарий оболочки для проверки набора ip и порта из файла csv. Но он всегда разбивает цикл while и показывает только первый результат. Но любой, как без ошибок, скрипт достигает и последней строки. Как исправить проблему прерывания цикла в telnet?shell script telnet пропустить цикл while в первой точке
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
Попробуйте вставить скрипт в shellcheck ... http://www.shellcheck.net/ –