Во-первых, не делайте этого, если у вас есть другие варианты.Это довольно стандартная идиома, но она во многом сломана.Если вы уверены, что он никогда не сделает ничего непредсказуемого, и что когда он это сделает, все будет в порядке, то конечно, но в целом ...
1) используйте что-то кроме ftp.Например, scp работает довольно хорошо и имеет проверяемый код возврата, который на самом деле полезен.
2) используйте более детальный язык программирования с модулями.Не поймите меня неправильно, я люблю bash и всегда буду использовать его первым, когда смогу, но закачиваю поток команд в ftp, как UDP-торпеду «забей и забудь», без какого-либо простого способа проверить, что каждая из них работает просто плохопривычка.Попробуйте Perl, Python или любую другую проклятую вещь, которая позволяет вам проверять код возврата для каждой команды и реагировать соответствующим образом.:)
3) если вы ДОЛЖНЫ использовать bash (и да, я это сделал), и если это достаточно важно для проверки (что не так?), Подумайте о том, как вы собираетесь это сделатьтот.Может быть, вы можете просто вытащить lesson.pdf обратно в локальный файл testme.pdf и cmp
, чтобы убедиться, что это хорошо, что кажется довольно простым.Для любого более сложного сценария вам может потребоваться запустить ftp как сопроцессы и передавать ему команды по одной, а затем считывать его выходные данные и анализировать коды возврата, потому что ftp обычно только сообщает об ошибках там ... и следите за«Отправлено 500 байт», что не является ошибкой 500.
В любом случае, удачи.Во многих отношениях просто все еще лучше.