Перечень примеров

Перечень примеров
2-1. cleanup: Сценарий очистки лог-файлов в /var/log
2-2. cleanup: Расширенная версия предыдущего сценария.
3-1. Вложенные блоки и перенаправление ввода-вывода
3-2. Сохранение результата исполнения вложенного блока в файл
3-3. Запуск цикла в фоновом режиме
3-4. Резервное архивирование всех файлов, которые были изменены в течение последних суток
4-1. Присваивание значений переменным и подстановка значений переменных
4-2. Простое присваивание
4-3. Присваивание значений переменным простое и замаскированное
4-4. Целое число или строка?
4-5. Позиционные параметры
4-6. wh, whois выяснение имени домена
4-7. Использование команды shift
5-1. Вывод "причудливых" переменных
5-2. Экранированные символы
6-1. завершение / код завершения
6-2. Использование символа ! для логической инверсии кода возврата
7-1. Что есть "истина"?
7-2. Эквиваленты команды test/usr/bin/test, [ ], и /usr/bin/[
7-3. Арифметические выражения внутри (( ))
7-4. Проверка "битых" ссылок
7-5. Операции сравнения
7-6. Проверка — является ли строка пустой
7-7. zmost
8-1. Наибольший общий делитель
8-2. Арифметические операции
8-3. Построение сложных условий, использующих && и ||
8-4. Различные представления числовых констант
9-1. $IFS и пробельные символы
9-2. Ограничения времени ожидания ввода
9-3. Еще один пример ограничения времени ожидания ввода от пользователя
9-4. Ограничение времени ожидания команды read
9-5. Я — root?
9-6. arglist: Вывод списка аргументов с помощью переменных $* и $@
9-7. Противоречия в переменных $* и $@
9-8. Содержимое $* и $@, когда переменная $IFS — пуста
9-9. Переменная "подчеркивание"
9-10. Вставка пустых строк между параграфами в текстовом файле
9-11. Преобразование графических файлов из одного формата в другой, с изменением имени файла
9-12. Альтернативный способ извлечения подстрок
9-13. Подстановка параметров и сообщения об ошибках
9-14. Подстановка параметров и сообщение о "порядке использования"
9-15. Длина переменной
9-16. Поиск по шаблону в подстановке параметров
9-17. Изменение расширений в именах файлов:
9-18. Поиск по шаблону при анализе произвольных строк
9-19. Поиск префиксов и суффиксов с заменой по шаблону
9-20. Объявление переменных с помощью инструкции declare
9-21. Косвенные ссылки
9-22. Передача косвенных ссылок в awk
9-23. Генерация случайных чисел
9-24. Выбор случайной карты из колоды
9-25. Псевдослучайное число из заданного диапазона
9-26. Имитация бросания кубика с помощью RANDOM
9-27. Переустановка RANDOM
9-28. Получение псевдослучайных чисел с помощью awk
9-29. Работа с переменными в стиле языка C
10-1. Простой цикл for
10-2. Цикл for с двумя параметрами в каждом из элементов списка
10-3. Fileinfo: обработка списка файлов, находящегося в переменной
10-4. Обработка списка файлов в цикле for
10-5. Цикл for без списка аргументов
10-6. Создание списка аргументов в цикле for с помощью операции подстановки команд
10-7. grep для бинарных файлов
10-8. Список всех пользователей системы
10-9. Проверка авторства всех бинарных файлов в текущем каталоге
10-10. Список символических ссылок в каталоге
10-11. Список символических ссылок в каталоге, сохраняемый в файле
10-12. C-подобный синтаксис оператора цикла for
10-13. Работа с командой efax в пакетном режиме
10-14. Простой цикл while
10-15. Другой пример цикла while
10-16. Цикл while с несколькими условиями
10-17. C-подобный синтаксис оформления цикла while
10-18. Цикл until
10-19. Вложенный цикл
10-20. Команды break и continue в цикле
10-21. Прерывание многоуровневых циклов
10-22. Передача управление в начало внешнего цикла
10-23. Живой пример использования "continue N"
10-24. Использование case
10-25. Создание меню с помощью case
10-26. Оператор case допускает использовать подстановку команд вместо анализируемой переменной
10-27. Простой пример сравнения строк
10-28. Проверка ввода
10-29. Создание меню с помощью select
10-30. Создание меню с помощью select в функции
11-1. printf в действии
11-2. Ввод значений переменных с помощью read
11-3. Пример использования команды read без указания переменной для ввода
11-4. Ввод многострочного текста с помощью read
11-5. Обнаружение нажатия на курсорные клавиши
11-6. Чтение командой read из файла через перенаправление
11-7. Проблемы чтения данных из канала (конвейера)
11-8. Смена текущего каталога
11-9. Команда let, арифметические операции.
11-10. Демонстрация команды eval
11-11. Принудительное завершение сеанса
11-12. Шифрование по алгоритму "rot13"
11-13. Замена имени переменной на ее значение, в исходном тексте программы на языке Perl, с помощью eval
11-14. Установка значений аргументов с помощью команды set
11-15. Изменение значений позиционных параметров (аргументов)
11-16. "Сброс" переменной
11-17. Передача переменных во вложенный сценарий awk, с помощью export
11-18. Прием опций/аргументов, передаваемых сценарию, с помощью getopts
11-19. "Подключение" внешнего файла
11-20. Пример (бесполезный) сценария, который подключает себя самого.
11-21. Команда exec
11-22. Сценарий, который запускает себя самого
11-23. Ожидание завершения процесса перед тем как продолжить работу
11-24. Сценарий, завершающий себя сам с помощью команды kill
12-1. Создание оглавления диска для записи CDR, с помощью команды ls
12-2. Здравствуй или Прощай
12-3. Badname, удаление файлов в текущем каталоге, имена которых содержат недопустимые символы и пробелы.
12-4. Удаление файла по его номеру inode
12-5. Использование команды xargs для мониторинга системного журнала
12-6. copydir, копирование файлов из текущего каталога в другое место.
12-7. Завершение работы процесса по его имени
12-8. Подсчет частоты встречаемости слов using xargs
12-9. Пример работы с expr
12-10. Команда date
12-11. Частота встречаемости отдельных слов
12-12. Какие из файлов являются сценариями?
12-13. Генератор 10-значных случайных чисел
12-14. Мониторинг системного журнала с помощью tail
12-15. Сценарий-эмулятор "grep"
12-16. Поиск слов в словаре
12-17. toupper: Преобразование символов в верхний регистр.
12-18. lowercase: Изменение имен всех файлов в текущем каталоге в нижний регистр.
12-19. du: Преобразование текстового файла из формата DOS в формат Unix.
12-20. rot13: Сверхслабое шифрование по алгоритму rot13.
12-21. Более "сложный" шифр
12-22. Отформатированный список файлов.
12-23. Пример форматирования списка файлов в каталоге
12-24. nl: Самонумерующийся сценарий.
12-25. Пример перемещения дерева каталогов с помощью cpio
12-26. Распаковка архива rpm
12-27. Удаление комментариев из файла с текстом программы на языке C
12-28. Исследование каталога /usr/X11R6/bin
12-29. "Расширенная" команда strings
12-30. Пример сравнения двух файлов с помощью cmp.
12-31. Утилиты basename и dirname
12-32. Проверка целостности файла
12-33. Декодирование файлов
12-34. Сценарий, отправляющий себя самого по электронной почте
12-35. Ежемесячные выплаты по займу
12-36. Перевод чисел из одной системы счисления в другую
12-37. Пример взаимодействия bc со "встроенным документом"
12-38. Вычисление числа "пи"
12-39. Преобразование чисел из десятичной в шестнадцатиричную систему счисления
12-40. Разложение числа на простые множители
12-41. Расчет гипотенузы прямоугольного треугольника
12-42. Использование seq для генерации списка аргументов цикла for
12-43. Использование getopt для разбора аргументов командной строки
12-44. Захват нажатых клавиш
12-45. Надежное удаление файла
12-46. Генератор имен файлов
12-47. Преобразование метров в мили
12-48. Пример работы с m4
13-1. Установка нового пароля
13-2. Установка символа "забоя"
13-3. невидимый пароль: Отключение эхо-вывода на терминал
13-4. Перехват нажатия на клавиши с помощью stty.
13-5. Использование команды pidof при остановке процесса
13-6. Проверка образа CD
13-7. Создание файловой системы в обычном файле
13-8. Добавление нового жесткого диска
13-9. Сценарий killall, из каталога /etc/rc.d/init.d
14-1. Глупая выходка
14-2. Запись результатов выполнения цикла в переменную
16-1. Перенаправление stdin с помощью exec
16-2. Перенаправление stdout с помощью exec
16-3. Одновременное перенаправление устройств, stdin и stdout, с помощью команды exec
16-4. Перенаправление в цикл while
16-5. Альтернативная форма перенаправления в цикле while
16-6. Перенаправление в цикл until
16-7. Перенаправление в цикл for
16-8. Перенаправление устройств (stdin и stdout) в цикле for
16-9. Перенаправление в конструкции if/then
16-10. Файл с именами "names.data", для примеров выше
16-11. Регистрация событий
17-1. dummyfile: Создание 2-х строчного файла-заготовки
17-2. broadcast: Передача сообщения всем, работающим в системе, пользователям
17-3. Вывод многострочных сообщений с помощью cat
17-4. Вывод многострочных сообщений с подавлением символов табуляции
17-5. Встроенные документы и подстановка параметров
17-6. Передача пары файлов во входящий каталог на "Sunsite"
17-7. Отключение подстановки параметров
17-8. Сценарий, который создает другой сценарий
17-9. Встроенные документы и функции
17-10. "Анонимный" Встроенный Документ
17-11. Блочный комментарий
17-12. Встроенная справка к сценарию
19-1. Область видимости переменных
19-2. Личные настройки пользователей
19-3. Запуск нескольких процессов в подоболочках
20-1. Запуск сценария в ограниченном режиме
22-1. Простые функции
22-2. Функция с аргументами
22-3. Передача косвенных ссылок в функцию
22-4. Изменение значения переменной, переданной в функцию по ссылке.
22-5. Еще один пример разыменования параметров функции, передаваемых по ссылке.
22-6. Наибольшее из двух чисел
22-7. Преобразование чисел в римскую форму записи
22-8. Проверка возможности возврата функциями больших значений
22-9. Сравнение двух больших целых чисел
22-10. Настоящее имя пользователя
22-11. Область видимости локальных переменных
22-12. Использование локальных переменных при рекурсии
22-13. Ханойские Башни
23-1. Псевдонимы в сценарии
23-2. unalias: Объявление и удаление псевдонимов
24-1. Проверка аргументов командной строки с помощью "И-списка"
24-2. Еще один пример проверки аргументов с помощью "И-списков"
24-3. Комбинирование "ИЛИ-списков" и "И-списков"
25-1. Простой массив
25-2. Форматирование стихотворения
25-3. Различные операции над массивами
25-4. Строковые операции и массивы
25-5. Загрузка исходного текста сценария в массив
25-6. Некоторые специфичные особенности массивов
25-7. Пустые массивы и пустые элементы
25-8. Инициализация массивов
25-9. Копирование и конкатенация массивов
25-10. Еще пример на конкатенацию массивов
25-11. Старая, добрая: "Пузырьковая" сортировка
25-12. Вложенные массивы и косвенные ссылки
25-13. Пример реализации алгоритма Решето Эратосфена
25-14. Эмуляция структуры "СТЕК" ("первый вошел — последний вышел")
25-15. Исследование математических последовательностей
25-16. Эмуляция массива с двумя измерениями
27-1. Пример работы с псевдоустройством /dev/tcp
27-2. Поиск файла программы по идентификатору процесса
27-3. Проверка состояния соединения
28-1. Удаление cookie-файлов
28-2. Создание файла подкачки (swapfile), с помощью /dev/zero
28-3. Создание электронного диска
29-1. Сценарий, содержащий ошибку
29-2. Пропущено ключевое слово
29-3. test24
29-4. Проверка условия с помощью функции "assert"
29-5. Ловушка на выходе
29-6. Удаление временного файла при нажатии на Control-C
29-7. Трассировка переменной
31-1. Строки и числа нельзя сравнивать напрямую
31-2. Западня в подоболочке
31-3. Передача вывода от команды echo команде read, по конвейеру
33-1. сценарий-обертка
33-2. Более сложный пример сценария-обертки
33-3. Сценарий-обертка вокруг сценария awk
33-4. Сценарий на языке Perl, встроенный в Bash-скрипт
33-5. Комбинирование сценария Bash и Perl в одном файле
33-6. Сценарий (бесполезный), который вызывает себя сам
33-7. Сценарий (имеющий практическую ценность), который вызывает себя сам
33-8. Еще один сценарий, который вызывает себя сам
33-9. "Цветная" адресная книга
33-10. Вывод цветного текста
33-11. Необычный способ передачи возвращаемого значения
33-12. Необычный способ получения нескольких возвращаемых значений
33-13. Передача массива в функцию и возврат массива из функции
33-14. Игры с анаграммами
33-15. Сценарий с графическим интерфейсом
34-1. Расширение строк
34-2. Косвенные ссылки на переменные -- новый метод
34-3. Простая база данных, с применением косвенных ссылок
34-4. Массивы и другие хитрости для раздачи колоды карт в четыре руки
A-1. manview: Просмотр страниц руководств man
A-2. mailformat: Форматирование электронных писем
A-3. rn: Очень простая утилита для переименования файлов
A-4. blank-rename: переименование файлов, чьи имена содержат пробелы
A-5. encryptedpw: Передача файла на ftp-сервер, с использованием пароля
A-6. copy-cd: Копирование компакт-дисков с данными
A-7. Последовательности Коллаца (Collatz)
A-8. days-between: Подсчет числа дней между двумя датами
A-9. Создание "словаря"
A-10. Расчет индекса "созвучности"
A-11. "Игра "Жизнь""
A-12. Файл с первым поколением для игры "Жизнь"
A-13. behead: Удаление заголовков из электронных писем и новостей
A-14. ftpget: Скачивание файлов по ftp
A-15. Указание на авторские права
A-16. password: Генератор случайного 8-ми символьного пароля
A-17. fifo: Создание резервных копий с помощью именованных каналов
A-18. Генерация простых чисел, с использованием оператора деления по модулю (остаток от деления)
A-19. tree: Вывод дерева каталогов
A-20. Функции для работы со строками
A-21. Directory information
A-22. Объектно ориентированная база данных
A-23. Монтирование USB-устройств флэш-памяти.
A-24. Резервное копирование файлов журналов
A-25. Предотвращение интерпретации строк символов
A-26. Принудительная интерпретация строк
A-27. Повторение основ
C-1. Подсчет количества символов
I-1. Пример файла .bashrc
J-1. VIEWDATA.BAT: пакетный файл DOS
J-2. viewdata.sh: Результат преобразования VIEWDATA.BAT в сценарий командной оболочки