Искусство программирования на языке сценариев командной оболочки
Шрифт:
*
George Polya, How To Solve It, Princeton University Press, 1973, 0-691-02356-5.
Классический учебник по методам решения задач.
*
Arnold Robbins, Bash Reference Card, SSC, 1998, 1-58731-010-5.
Замечательный карманный справочник по Bash. Стоит всего $4.95, но также доступен для свободного скачивания on-line в формате PDF.
*
Arnold Robbins, Effective Awk Programming, Free Software Foundation / O'Reilly and Associates, 2000, 1-882114-26-4.
Самое
Эта книга служила источником вдохновения для автора этой книги.
*
Bill Rosenblatt, Learning the Korn Shell, O'Reilly and Associates, 1993, 1-56592-054-6.
Эта, хорошо написанная книга, содержит массу указаний по созданию сценариев командной оболочки.
*
Paul Sheer, LINUX: Rute User's Tutorial and Exposition, 1st edition, , 2002, 0-13-033351-4.
Очень хорошее введение в системное администрирование Linux.
Эта книга доступна в on-line.
*
Ellen Siever and the staff of O'Reilly and Associates, Linux in a Nutshell, 2nd edition, O'Reilly and Associates, 1999, 1-56592-585-8.
Один из лучших справочников по командам Linux, имеет раздел, посвященный Bash.
*
The UNIX CD Bookshelf, 3rd edition, O'Reilly and Associates, 2003, 0-596-00392-7.
Сборник из 7-ми книг по UNIX на CD ROM. В состав сборника входят такие книги, как UNIX Power Tools, Sed and Awk и Learning the Korn Shell. Полный набор необходимых справочных и учебных материалов, который вам только может понадобиться. Стоит примерно $130.
*
Книги издательства O'Reilly, посвященные Perl.
– --
Ben Okopnik опубликовал серию отличных статей introductory Bash scripting в выпусках 53, 54, 55, 57 и 59 на сайте Linux Gazette , и статью "The Deep, Dark Secrets of Bash" в выпуске 56.
Chet Ramey bash - The GNU Shell– - серия статей в 3 и 4 выпусках Linux Journal, Июль-Август 1994.
Mike G Bash-Programming-Intro HOWTO.
Richard UNIX Scripting Universe.
Chet Ramey Bash F.A.Q.
Ed Schaefer Shell Corner на Unix Review.
Примеры сценариев: Lucc's Shell Scripts .
Примеры сценариев: SHELLdorado .
Примеры сценариев: Noah Friedman's script site.
Steve Parker Shell Programming Stuff.
Примеры сценариев: SourceForge Snippet Library - shell scripts.
Giles Orr Bash-Prompt HOWTO.
Замечательное руководство по регулярным выражениям, sed и awk The UNIX Grymoire.
Eric Pement sed resources page.
The GNU gawk reference manual (gawk– - GNU-версия awk
для ОС Linux и BSD).Trent Fisher groff tutorial.
Mark Komarinski Printing-Usage HOWTO.
Хороший материал по перенаправлению ввода/вывода глава 10 на сайте University of Alberta.
Rick Hohensee osimpa -- ассемблер для процессора i386, написан полностью на Bash.
Rocky Bernstein ведет разработку "полнофункционального" отладчика для Bash.
– --
Отличное руководство "Bash Reference Manual", авторы Chet Ramey и Brian Fox, распространяется в составе пакета "bash-2-doc" (доступен как rpm). В этом пакете вы найдете особенно поучительные примеры.
Группа новостей comp.os.unix.shell.
Страницы руководства man по bash и bash2, date, expect, expr, find, grep, gzip, ln, patch, tar, tr, bc, xargs. Странички info по bash, dd, m4, gawk и sed.
Приложение A. Дополнительные примеры сценариев
В этом приложении собраны сценарии, которые не попали в основной текст документа. Однако, они определенно стоят того, что бы вы потратили время на их изучение.
Пример A-1. manview: Просмотр страниц руководств man
#!/bin/bash
# manview.sh: Просмотр страниц руководств man в форматированном виде.
# Полезен писателям страниц руководств, позволяет просмотреть страницы в исходном коде
#+ как они будут выглядеть в конечном виде.
E_WRONGARGS=65
if [ -z "$1" ]
then
echo "Порядок использования: `basename $0` имя_файла"
exit $E_WRONGARGS
fi
groff -Tascii -man $1 | less
# Если страница руководства включает в себя таблицы и/или выражения,
# то этот сценарий "стошнит".
# Для таких случаев можно использовать следующую строку.
#
# gtbl < "$1" | geqn -Tlatin1 | groff -Tlatin1 -mtty-char -man
#
# Спасибо S.C.
exit 0
Пример A-2. mailformat: Форматирование электронных писем
#!/bin/bash
# mail-format.sh: Форматирование электронных писем.
# Удаляет символы "^", табуляции и ограничивает чрезмерно длинные строки.