1dd7040f

ПОЯСНЕНИЯ


Строки 4-8 проверяют наличие ошибок. Если в командной строке есть аргументы, печатается сообщение об ошибке.

Строка 10 инициализирует переменную SELF именем вашего системного узла, используемого утилитой uucp.

Строки 12-16 запрашивают каталог-источник и читают ответ в переменную SOURCE. Если ничего не введено или указан не каталог, программа завершается. Строки 18-21 запрашивают систему-адресат и каталог-адресат. Умолчаниями являются ваша собственная система и каталог PUBDIR для размещения файлов. Эти умолчания облегчают конфигурирование, связанное с пересылкой информации, чтобы не было необходимости вводить много данных.

В строках 23 и 24 проверяется, инициализированы ли переменные.

Если переменной SYSTEM присвоен возврат каретки, в нее заносится значение SELF. Если переменная DEST пустая, ей присваивается ~/$LOGNAME. Эти операторы устанавливают значения по умолчанию. Строка 26 печатает сообщение о том, что файлы ставятся в очередь. Весь фокус заключается фактически в строках 28-32. Команда find начинает работать с каталога SOURCE и находит все обычные файлы. Этот список передается утилите sort, так что uucp пересылает файлы в отсортированном порядке. Это облегчает отслеживание того, какие файлы были переданы, если возникают какие-то проблемы.

Отсортированный список попадает в цикл while, читающий имена файлов. Каждое имя отображается на экран для справки, и файл ставится в очередь к удаленной системе. В строке 31 указаны такие опции uucp: -r для постановки в очередь, -c для того, чтобы не копировать файлы в каталог подкачки, и -d для создания каталогов, необходимых в удаленной системе.

Для поддержки древовидной структуры мы применяем магический синтаксис $SYSTEM!$DEST/$FILE. Нам нужно не только скопировать файлы в систему и в каталог, но и определить маршрутное имя вплоть до самого файла. Это гарантирует, что файлы будут расфасованы по каталогам. Если бы был использован синтаксис $SYSTEM!$DEST, то все файлы попали бы в один каталог и их иерархическая структура была бы утеряна.

После того как все файлы поставлены в очередь, они находятся в этой очереди до тех пор, пока их не позовет удаленная система. Тогда файлы будут скопированы в эту систему.




Начало  Назад  Вперед