Я работаю над переносом среды разработки с Windows на OS X и столкнулся с проблемой TFTP. Я использую TFTP для загрузки файлов на встроенное сетевое устройство, это единственный вариант для получения файлов на устройстве (поддержка SCP не предоставляется).
Каждый раз, когда я собираю прошивку для этого устройства, на него должна быть загружена серия из трех файлов. В Windows у меня было несколько простых скриптов, которые загружали все нужные файлы за один раз, что значительно упрощало развертывание. Эти сценарии были просты, потому что клиент TFTP для Windows запускается однострочными командами, такими как:
tftp -i <Server IP Address> PUT <Local Filename> <Server Filename>
Не похоже, что есть какой-либо способ загрузить файл с одной командой, подобной этой, в OS X. Вместо этого вам нужно открыть программу tftp и выполнить ряд команд, которые выглядят примерно так:
$ tftp
tftp> connect <Server IP Address>
tftp> mode binary
tftp> put <Local Filename> <Server Filename>
tftp> quit
До сих пор мне не удавалось выяснить, как написать сценарий для этого, хотя у меня нет большого опыта работы с сценариями оболочки Unix. Кто-нибудь пытался сделать что-то подобное и придумать какие-нибудь решения?