Искусство программирования на языке сценариев командной оболочки




Программирование на языке сценариев командной оболочки - стр. 314


до первой # пустой строки # Mark Moraes, Университет в Торонто

# ==> Такие комментарии добавлены автором документа.

if [ $# -eq 0 ]; then # ==> Если входной аргумент не задан (файл), то выводить результат на stdin. sed -e '1,/^$/d' -e '/^[ ]*$/d' # --> Удалить пустые строки и все строки предшествующие им else # ==> Если аргумент командной строки задан, то использовать его как имя файла. for i do sed -e '1,/^$/d' -e '/^[ ]*$/d' $i # --> То же, что и выше. done fi

# ==> Упражнение: Добавьте проверку на наличие ошибок. # ==> # ==> Обратите внимание -- как похожи маленькие сценарии sed, за исключением передачи аргумента. # ==> Можно ли его оформит в виде функции? Почему да или почему нет?

Пример A-14. ftpget: Скачивание файлов по ftp

#! /bin/sh # $Id: ftpget,v 1.2 91/05/07 21:15:43 moraes Exp $ # Сценарий устанавливает анонимное соединение с ftp-сервером. # Простой и быстрый - написан как дополнение к ftplist # -h -- удаленный сервер (по-умолчанию prep.ai.mit.edu) # -d -- каталог на сервере - вы можете указать последовательность из нескольких ключей -d # Если вы используете относительные пути, # будьте внимательны при задании последовательности. # (по-умолчанию -- каталог пользователя ftp) # -v -- "многословный" режим, будет показывать все ответы ftp-сервера # -f -- file[:localfile] скачивает удаленный file и записывает под именем localfile # -m -- шаблон для mget. Не забудьте взять в кавычки! # -c -- локальный каталог # Например, # ftpget -h expo.lcs.mit.edu -d contrib -f xplaces.shar:xplaces.sh \ # -d ../pub/R3/fixes -c ~/fixes -m 'fix*' # Эта команда загрузит файл xplaces.shar из ~ftp/contrib с expo.lcs.mit.edu # и сохранит под именем xplaces.sh в текущем каталоге, затем заберет все исправления (fixes) # из ~ftp/pub/R3/fixes и поместит их в каталог ~/fixes. # Очевидно, что последовательность ключей и аргументов очень важна, поскольку # она определяет последовательность операций, выполняемых с удаленным ftp-сервером # # Mark Moraes (moraes@csri.toronto.edu), Feb 1, 1989 #




Содержание  Назад  Вперед