$ PS3="Select the item number:"

$ echo $PS3

Select the item number:

PS4=строка Cтрока приглашения к трассировке выполняемых команд ( bash -x или set -x) По умолчанию выбирается приглашение +

SHELL=файл Наименование оболочки,выбираемой пользователем по умолчанию.

TERM=строка Тип терминала

TIMEFORMAT=строка Форматирующая строка для вывода времени с помощью ключевого слова time.

TMOUT=n Если никакой команды не введено по истечении секунд , то происходит вывод из оболочки.

TMPDIR=каталог В указанном каталоге размещаются временно создаваемые файлы применяемые в оболочке.

auto_resume=список Допускает применение простых символьных строк для возобновления приостановленных заданий.

histchars=символы Два или три символа определяющие порядок подстановки. Первый символ сигнализирует о событии в предистории команд, второй символ обозначает быструю подстановку, а

третий-начало комментария. По умолчанию избираются символы !^#.

Файл в котором хранится предистория команд

$ echo $HISTFILE

/home/max/.bash_history

Количество команд ,сохраняемых в файле предистории.

max@hp:~$ echo $HISTSIZE

1000

Начальный каталог

max@hp:~$ echo $HOME

/home/max

Выбираемый по умолчанию языковый стандарт

$ echo $LANG

ru_RU.UTF-8

Пути поиска команд

$ echo $PATH

/home/max/.local/bin:/home/max/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin

Наименование оболочки,выбираемой пользователем по умолчанию.

$ echo $SHELL

/bin/bash

Тип терминала

$ echo $TERM

xterm

И другие не столь значимые переменные.

Глава 5. Массивы.

5.1 Индексированные массивы.

Массивы инициализируются с помощью специальной

формы. Первый элемент нумеруется нулевым.

Отрицательные индексы отсчитываются от

последнего с прибавлением единицы.

$ a=(0 1 2 3 4 5 6 7 8 )

$ echo ${a[4]}

4

$ echo ${a[-2]}

7

Для ссылки на массив служит форма ${…..}

Пример

$ car=(porsh bmv mers)

$ echo ${car[0]}

porsh

$ echo ${car[*]}

porsh bmv mers

5.2 Подстановка массивов.

Подстановки переменных для массивов и их элементов выполняются

4

$ echo ${a[-2]}

7

Для ссылки на массив служит форма ${…..}

Пример

$ car=(porsh bmv mers)

$ echo ${car[0]}

porsh

$ echo ${car[*]}

porsh bmv mers

5.2 Подстановка массивов.

Подстановки переменных для массивов и их элементов выполняются следующих формах.

${имя[i]} использовать элемент i массива имя

Использовать все элементы массива

${имя[@]}

${#имя[*]}

Пример, создадим простой массив

$ a=(0 1 2 3 4 5 )

$ echo ${a[4]}

4

$ echo ${a[*]}

0 1 2 3 4 5

$ echo ${a[@]}

0 1 2 3 4 5

$ echo ${#a[*]}

6

$ echo ${#a[@]}

6

5.3 Ассоциативные массивы.

Ассоциативные массивы те в которых индексами являются символьные строки. Ассоциативные массивы объявляются командами declare -A, local -A, readonly -A

Присваивание значений элементам aссоциативного массива.

Пример создадим простой ассоциативный массив

$ declare -A avto=([bmv]=10 [porsh]=20 [mers]=30)

Проверяем

$ echo ${avto[*]}

20 30 10

$ echo ${avto[bmv]}

10

$ local -A avto=([bmv])=10 [mers]=30

bash: local: можно использовать только внутри функции.

Глава 6.Специальные строки приглашений.

Значения переменных PS1,PS2,PS3,PS4 обрабатываются в оболочке , принимая во внимание следующие управляющие последовательности символов.

\a Звуковой или визуальный сигнал

\A Текущее время ЧЧ ММ

\d Дата

\D (формат) Дата

\e символ перехода

\h имя хоста

\H полное имя хоста

\j текущее количество заданий

\l базовое имя терминального устройства

\n символ новой строки

\r символ перевода каретки

\s имя оболочки

\t текущее время в 24 часовом формате

\T текущее время в 12 часовом формате

\u имя текущего пользователя

\v текущая версия оболочки Bash

\V текущий выпуск оболочки Bash