Оболочка читает свой ввод ....
Оболочка разбивает входные данные на токены:
слова и операторы.
Оболочка анализирует ввод в простые и составные
команды.
Оболочка выполняет различные расширения (отдельно) …
Оболочка выполняет перенаправление и удаляет
операторы перенаправления и их операнды из
списка параметров.
Оболочка выполняет функцию, встроенный,
исполняемый файл или скрипт …
Оболочка по желанию ожидает завершения
команды и собирает статус выхода.
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
~+Текущий