BASH. Справочное пособие

на главную - закладки

Жанры

Поделиться:
Шрифт:

Глава1. Оболочка общие сведения.

В процессе загрузки операционных систем семейства Linux, после загрузки ядра системы выполняется переход в интерактивный режим – режим взаимодействия пользователя и операционной системы. В ОС Linux, первым запускаемым в ходе загрузки процессом, является программа инициализации init, которая определяет перечень и характеристики терминалов, имеющихся в системе, и вызывает программу интерактивного входа getty, отображающую приглашение для ввода имени пользователя. После ввода имени пользователя и пароля, программа getty

вызывает программу login, которая проверяет достоверность учетной записи, выполняет переход в домашний каталог пользователя и передает управление программе начального запуска сеанса, в качестве которой обычно используется программа оболочки пользователя, конкретная разновидность которой определяется содержимым файла /etc/passwd для данной учетной записи.Командная оболочка (shell) обеспечивает взаимодействие между пользователем и средой операционной системы Linux. Она является специализированным программным продуктом, который обеспечивает выполнение команд и получения результатов их выполнения, или, если совсем уж упрощенно, оболочка – это программа, которая предназначена для обеспечения выполнения других программ по желанию пользователя. Примером оболочки может быть, например, интерпретатор команд command.com операционной системы MS DOS, или оболочка bash операционных систем Unix / Linux. Оболочка Bash представляет средства для написания сценариев оболочки.

Оболочка читает свой ввод ....

Оболочка разбивает входные данные на токены:

слова и операторы.

Оболочка анализирует ввод в простые и составные

команды.

Оболочка выполняет различные расширения (отдельно) …

Оболочка выполняет перенаправление и удаляет

операторы перенаправления и их операнды из

списка параметров.

Оболочка выполняет функцию, встроенный,

исполняемый файл или скрипт …

Оболочка по желанию ожидает завершения

команды и собирает статус выхода.

1.1 Краткий обзор функциональных средства.

В оболочке Bash предоставляются следующие функциональные средства и возможности

Переадресация ввода-вывода.

Применение метасимволов для сокращения имен файлов. Переменные и параметры для специальной настройки рабочей среды. Встроенный набор команд для написания программ оболочки. Функции и оболочки для модульной организации задач.

Управление заданиями.

Редактирование (редакторы vi ,Emacs).

Доступ к предыдущим командам.

Арифметические операции.

Массивы и арифметические выражения.

Применение псевдонимов и другие средства.

1.2 Вызов оболочки.

Интерпретатор команд оболочки можно вызвать

bash [параметры ][аргументы ]

Путь к оболочке по ссылке /bin/sh.

Команды оболочки можно выполнять с терминала, из файла (когда в качестве первого аргумента указан сценарий).Исходные оболочки читают содержимое файлов etc/profile и . profile profile

# /etc/profile: system-wide .profile file for the Bourne shell (sh(1))

# and Bourne compatible shells (bash(1), ksh(1), ash(1), …).

if [ "${PS1-}" ]; then

if [ "${BASH-}" ] && [ "$BASH" != "/bin/sh" ];

Примечание

$ echo $PS1-

${debian_chroot:+($debian_chroot)}\u@\h:\w\$ -

$ echo $BASH-

/bin/bash-

$ echo $BASH

/bin/bash

then

# The file bash.bashrc already sets the default PS1.

# PS1='\h:\w\$ '

if [ -f /etc/bash.bashrc ]; then

. /etc/bash.bashrc

fi

else

Следующий

фрагмент кода определяет форму приглашения для root # для user $

if [ "`id -u`" -eq 0 ]; then

PS1='# '

else

PS1='$ '

fi

fi

fi

Следующий фрагмент кода запускает один за другим всескрипты в каталоге /etc/profile.d

if [ -d /etc/profile.d ]; then

for i in /etc/profile.d/*.sh; do

if [ -r $i ]; then

. $i

fi

done

unset i

fi

Глава 2 Синтаксис.

2.1.Специальные файлы.

Оболочка читает содержимое одного или нескольких файлов запуска.

/etc/profile Автоматически при входе в систему

~/.bash_profile, ~/.bash_login или ~/.profile

~/.bashrc

~/.bash_logout Выход из системы или команда exit,

2.2 Метасимволы подстановки имен файлов.

* Совпадение с любой строкой.

Пример, перечислить файлы начинающие с output

$ ls output*

output1.wav output2.wav output3.wav output4.wav

? Совпадение с любым символом.

Пример

$ cd video?

~/video1$

[ abc..] совпадение с любым символом в квадратных скобках.

[!abc..] совпадение с любым символом кроме указанных в квадратных скобках.

~ Начальный каталог текущего пльзователя

~max Начальный каталог пользователя max

~+Текущий рабочий каталог ($PWD)

~– Предыдущий рабочий каталог ($OLDPWD).

Пример

~/video1$ cd # Переходим в текущий каталог.

$ cd – # Переходим из текущего каталога в предыдущий.

~/video1$

2.3.Метасимволы при установленном параметре extglob.

Активизировать расширение шаблонов командой

shopt (манипулирование параметрами оболочки).

shopt: shopt [-pqsu] [-o] [параметр …]

Set and unset shell options.

Options:

–o restrict OPTNAMEs to those defined for use

with `set -o'

–p print each shell option with an indication

of its status

–q suppress output (запретить выход).

–s enable (set) each OPTNAME

–u disable (unset) each OPTNAME

$shopt -s extglob

$ man shopt

Нет справочной страницы для shopt

?(шаблон) Совпадение с нулевым или единичным

количеством экземпляров заданного шаблона.

*(шаблон) Совпадение с нулевым или большим

количеством экземпляров заданного шаблона.

+(шаблон)Совпадение с единичным или большим

количеством экземпляров заданного шаблона.

Книги из серии:

Без серии

[5.0 рейтинг книги]
[5.0 рейтинг книги]
Комментарии:
Популярные книги

Любовь Носорога

Зайцева Мария
Любовные романы:
современные любовные романы
9.11
рейтинг книги
Любовь Носорога

Лекарь для захватчика

Романова Елена
Фантастика:
попаданцы
историческое фэнтези
фэнтези
5.00
рейтинг книги
Лекарь для захватчика

Кротовский, не начинайте

Парсиев Дмитрий
2. РОС: Изнанка Империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
5.00
рейтинг книги
Кротовский, не начинайте

Новый Рал 3

Северный Лис
3. Рал!
Фантастика:
попаданцы
5.88
рейтинг книги
Новый Рал 3

Сердце Дракона. Том 10

Клеванский Кирилл Сергеевич
10. Сердце дракона
Фантастика:
фэнтези
героическая фантастика
боевая фантастика
7.14
рейтинг книги
Сердце Дракона. Том 10

Я – Стрела. Трилогия

Суббота Светлана
Я - Стрела
Любовные романы:
любовно-фантастические романы
эро литература
6.82
рейтинг книги
Я – Стрела. Трилогия

Имперец. Земли Итреи

Игнатов Михаил Павлович
11. Путь
Фантастика:
героическая фантастика
боевая фантастика
5.25
рейтинг книги
Имперец. Земли Итреи

Блуждающие огни 4

Панченко Андрей Алексеевич
4. Блуждающие огни
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Блуждающие огни 4

Книга 4. Игра Кота

Прокофьев Роман Юрьевич
4. ОДИН ИЗ СЕМИ
Фантастика:
фэнтези
боевая фантастика
рпг
6.68
рейтинг книги
Книга 4. Игра Кота

Наследник 2

Шимохин Дмитрий
2. Старицкий
Фантастика:
попаданцы
альтернативная история
фэнтези
5.75
рейтинг книги
Наследник 2

Расческа для лысого

Зайцева Мария
Любовные романы:
современные любовные романы
эро литература
8.52
рейтинг книги
Расческа для лысого

Кодекс Крови. Книга VI

Борзых М.
6. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга VI

Клан

Русич Антон
2. Долгий путь домой
Фантастика:
боевая фантастика
космическая фантастика
5.60
рейтинг книги
Клан

Истинная со скидкой для дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Истинная со скидкой для дракона