У меня есть простой скрипт, который читает некоторые строки из соединения, инициализированного с помощью netcat. Клиент может передавать некоторые «команды». Если клиент пишет «exit», мне нравится закрыть соединение.
НО: После передачи «exit» сценарий выдает «Received» exit », но все еще читает еще одну строку до появления« Good bye ».
echo "Start listening on port $PORT ..."
(echo "Welcome. Please give me one of the following commands:
$AVAILABLECOMMANDS") | nc -q -1 -l $PORT | while read line
do
if [ "$line" == 'exit' ]; then
echo "Received 'exit'"
break
else
result=$(executeCommand $line)
echo "$result"
fi
done
echo "Good bye"
Я думаю, что мне нужно переписать цикл, но я понятия не имею, как это сделать.
Может кто-нибудь помочь?
Спасибо.