Книга: Искусство программирования на языке сценариев командной оболочки
Пример 17-11. Встроенная справка к сценарию
Пример 17-11. Встроенная справка к сценарию
#!/bin/bash
# self-document.sh: сценарий со встроенной справкой
# Модификация сценария "colm.sh".
DOC_REQUEST=70
if [ "$1" = "-h" -o "$1" = "--help" ] # Request help.
then
echo; echo "Порядок использования: $0 [directory-name]"; echo
sed --silent -e '/DOCUMENTATIONXX$/,/^DOCUMENTATION/p' "$0" |
sed -e '/DOCUMENTATIONXX/d'; exit $DOC_REQUEST; fi
: << DOCUMENTATIONXX
Сценарий выводит сведения о заданном каталоге в виде таблице.
-------------------------------------------------------------
Сценарию необходимо передать имя каталога. Если каталог не
указан или он недоступен для чтения, то выводятся сведения
о текущем каталоге.
DOCUMENTATIONXX
if [ -z "$1" -o ! -r "$1" ]
then
directory=.
else
directory="$1"
fi
echo "Сведения о каталоге "$directory":"; echo
(printf "PERMISSIONS LINKS OWNER GROUP SIZE MONTH DAY HH:MM PROG-NAMEn"
; ls -l "$directory" | sed 1d) | column -t
exit 0
bash$ bash -c 'lsof -a -p $$ -d0' << EOF
> EOF
lsof 1213 bozo 0r REG 3,5 0 30386 /tmp/t1213-0-sh (deleted)
Если какая либо задача не может быть решена с помощью "встроенного документа", то вам следует попробовать язык сценариев expect, который приспособлен для передачи параметров на вход интерактивных программ.
- Пример 17-1. dummyfile: Создание 2-х строчного файла-заготовки
- Пример 17-2. broadcast: Передача сообщения всем, работающим в системе, пользователям
- Пример 17-3. Вывод многострочных сообщений с помощью cat
- Пример 17-4. Вывод многострочных сообщений с подавлением символов табуляции
- Пример 17-5. Встроенные документы и подстановка параметров
- Пример 17-6. Отключение подстановки параметров
- Пример 17-7. Передача пары файлов во входящий каталог на "Sunsite"
- Пример 17-8. Встроенные документы и функции
- Пример 17-9. "Анонимный" Встроенный Документ
- Пример 17-10. Блочный комментарий
- Пример 17-11. Встроенная справка к сценарию
- Пример 17-10. Блочный комментарий
- Пример 17-1. dummyfile: Создание 2-х строчного файла-заготовки
- Пример установочного скрипта
- Пример из практики
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- 1.2.2. Комментарии и встроенная документация
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Примеры
- 2. Пример создания базового отношения в записи на псевдокоде