Автоматическая отправка файлов через telnet работает нормально. Но как мне заставить telnet «ждать» процесс, который я запустил таким образом, в данном случае nc
, который получает файл? Робот здесь в 192.168.0.45
, а мой ноутбук в 192.168.0.10
.
{
sleep 1
echo "root"
echo "cd /flash"
echo "nc 192.168.0.10 10001 >lasertest"
sleep 5
} | telnet 192.168.0.45 23
Есть несколько подобных вопросов [1], но ни один из них, похоже, не хочет иметь такое синхронное поведение. В примере выше процесс ожидает 5 секунд, просто предполагая, что этого достаточно для передачи. Если он недостаточно длинный, передаваемый таким образом файл будет просто обрезан и поврежден.