Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab1 / Лекция 1. Язык командного интерпретатора Bash.pdf
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
843.71 Кб
Скачать

КУРС: ИНТЕРПРЕТИРУЕМЫЕ ЯЗЫКИ ПРОГРАММИРОВАНИЯ

Лекция 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

Соседние файлы в папке lab1