
- •СОДЕРЖАНИЕ
- •НАЧАЛЬНАЯ ИНФОРМАЦИЯ
- •ОСНОВНЫЕ СВОЙСТВА bash (major features)
- •ВЫВОД НА КОНСОЛЬ: команда echo
- •КОМАНДА echo (примеры использования)
- •СПЕЦИАЛЬНЫЕ СИМВОЛЫ И ЦИТИРОВАНИЕ
- •ВЫВОД НА КОНСОЛЬ: команда printf
- •ЧТЕНИЕ С КОНСОЛИ: команда read
- •ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ
- •РАБОТА С ПЕРЕМЕННЫМИ
- •ОСНОВНЫЕ ОПЕРАЦИИ
- •РАСКРЫТИЕ СКОБОК
- •КОНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ
- •УСЛОВНЫЙ ОПЕРАТОР IF
- •ПРОВЕРКА УСЛОВИЙ
- •УСЛОВНЫЙ ОПЕРАТОР IF ПРИ РАБОТЕ С ФАЙЛАМИ
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •ОПЕРАТОР МНОЖЕСТВЕННОГО ВЫБОРА CASE
- •ЦИКЛ FOR
- •КОМАНДА seq
- •ЦИКЛЫ WHILE/UNTIL и SELECT
- •МАССИВЫ в bash
- •РАБОТА С МАССИВАМИ
- •РАЗРАБОТКА bash-СКРИПТА (СЦЕНАРИЯ)
- •ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ

КУРС: ИНТЕРПРЕТИРУЕМЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ
Лекция 1. Язык командного интерпретатора Bash
Калашников Вячеслав Сергеевич
Начальник отдела развития САПР и перспективных разработок ООО ʺНМ-Техʺ, к.т.н.
vkalashnikov@nm-tech.org

СОДЕРЖАНИЕ
1. |
Начальная информация |
3 |
2. |
Основные свойства bash |
4 |
3. |
Вывод на консоль: команда echo |
5 |
4. |
Специальные символы и цитирование |
7 |
5. |
Вывод на консоль: команда printf |
8 |
6. |
Чтение с консоли: команда read |
9 |
7. |
Объявление переменных |
10 |
8. |
Работа с переменными |
11 |
9. |
Основные операции |
12 |
10. |
Раскрытие скобок |
13 |
11. |
Конструкции управления потоком |
14 |
12. |
Условный оператор if |
15 |
13. |
Оператор множественного выбора case |
20 |
14. |
Цикл for |
21 |
15. |
Команда seq |
22 |
16. |
Циклы while/until и select |
23 |
17. |
Массивы в bash |
24 |
18. |
Работа с массивами |
25 |
2 19. |
Разработка bash-скрипта |
26 |

НАЧАЛЬНАЯ ИНФОРМАЦИЯ
shell – команднаяоболочка, обеспечивающая интерфейсмежду пользователемиоперационнойсистемой (Unix/Linux).
Разновидностикомандныхоболочек: Bourne shell (sh)
Korn shell (ksh) C shell (csh)
Tenex C shell (tcsh)
Bourne Again shell (bash) – эволюция Bourne shell, включающий основные преимущества C shells, некоторые особенности Korn shell исвои собственные полезныефункции.
Основныесвойства ипреимущества bash:
-Поддержкарежимаредактированиякоманднойстроки
-Контрользадач
-Множество дополненийдлянастройкикоманднойоболочкиипрограммирования
Знакомствососредой bash:
$ echo $SHELL => /bin/bash (или $ which bash) $ echo $BASH_VERSION => 3.0
$ echo $HISTFILE => /home/user/.bash_history (связанные команды: fc и history)
3$ help <command>

ОСНОВНЫЕ СВОЙСТВА bash (major features)
Свойства bash, унаследованные от C shell:
Манипуляциисдиректориями посредствомкоманд pushd, popd, dirs
Контрользадач, включаякоманды fg и bg, атакжеспособность останавливатьзадачиспомощью CTRL-Z
Раскрытиескобок
Заменазнакатильды (~), краткийспособ обращениякдиректориям
Псевдонимы (aliases), позволяющие определитькраткиеименадлякоманд
История команд, позволяющаяполучитьранеевведенныекоманды
Основные новые свойства bash:
Редактированиекоманднойстроки, позволяющееиспользовать viили emacs-стильредактированиякоманд
Назначение клавиш, позволяющееустановить персонализированные редактируемыепоследовательностиклавиш
Интегрированные функции программирования: функциональность нескольких внешних Unix-команд, включая test, expr, getopt, echo интегрирована в саму командную оболочку, позволяя реализовать общие задачи программирования более четко иэффективно
Структурыуправления, вчастности конструкция select, реализующаяпростой способ генерациименю
Новыеопции ипеременные, дающиебольшеспособов персонализироватьинастроить окружение
Одномерныемассивы, позволяющие простойспособ обращенияиманипуляциисо спискамиданных
Динамическая загрузкавстроенных команд, атакжевозможность писатьсобственные изагружатьихвоболочку
4

ВЫВОД НА КОНСОЛЬ: команда echo
Общийсинтаксис: echo [опции] [строка]
Опция |
Назначение |
-e |
Включить обработку управляющих символов в составе строки |
-n |
Не выводить перевод строки в конце строки |
|
|
Основныеуправляющиесимволы (escape-последовательности):
Символ |
Функция |
\n |
Перевод строки |
\t |
Горизонтальная табуляция |
\v |
Вертикальная табуляция |
\b |
Аналог backspace |
\a |
Звуковой сигнал |
\r |
Возврат (return) - замена текста слева от символа |
\\ |
Одиночный символ \ (backslash) |
Управляющиесимволыдляманипуляциисцветом:
Символ |
Цвет текста |
Символ |
Цвет фона |
\033[30m |
Чёрный |
\033[40m |
Чёрный |
\033[31m |
Красный |
\033[41m |
Красный |
\033[32m |
Зелёный |
\033[42m |
Зелёный |
\033[33m |
Жёлтый |
\033[43m |
Жёлтый |
\033[34m |
Синий |
\033[44m |
Синий |
\033[35m |
Фиолетовый |
\033[45m |
Фиолетовый |
\033[36m |
Голубой |
\033[46m |
Голубой |
\033[37m |
Серый |
\033[47m |
Серый |
Сброс до значений по умолчанию: \033[0m
5