Добавить в цитаты Настройки чтения

Страница 5 из 6

проверки входящей почты. Устанавливается по

команде login.

MAILCHECK=n Количество секунд проходящих между последовательными проверками почты. По умолчанию

60 (одна минута).

MAILPATH=файлы. Файлы предназначенные для проверки входящей почты.

OPTERR=n Если в этой переменной установлено значение 1(по умолчанию) то оболочка выводит сообщение об ошибках из встроенной команды getopts.

PATH=список_каталогов Пути по которым осуществляется поиск команд для последующего выполнения.

POSIXLY_CORRECT=Если эта переменная устанавливается при запуске,оболочка переходит в режим работы по стандарту POSIX.

PROMT_COMMAND=Если эта переменная установлена оболочка выполняет заданную команду всякий раз,прежде чем выводить основное приглашение.

PROMT_DIRTRIM=n Обозначает ,сколько завершающих составляющих каталогов остается для специальной строки приглашения w или W.

PS0=строка Символьная строка после чтения команды ,но перед ее выполнением

P$1=строка Основная строка приглашения

echo $PS1

[e]0;[email protected]h:wa]${debian_chroot:+($debian_chroot)}[email protected]h:w$S1=строка Основная строка приглашения.

PS2=строка Вспомогательное приглашение в многострочных командах. Обычно > или +

$ echo $PS2

>

PS3=строка Строка приглашения в цикле select

По умолчанию #?

$ 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

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

[email protected]:~$ echo $HISTSIZE

1000

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

[email protected]:~$ 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

w базовое имя текущего каталога

! номер строки с данной командой

# номер данной команды

$ индефикатор пользователя равен 0 # иначе $

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

\ символ обратной косой черты

[ начало последовательности непечатаемых символов

] конец последовательности непечатаемых символов

PS1 задает вид строки приглашения.

PS2 вторичный тип приглашения ввода (> , +).

PS3 третичное приглашение (при операторе select).

PS4 приглашение 4-го уровня,при отладке

Пример

$ echo $PS1

[e]0;[email protected]h: wa]${debian_chroot:+($debian_chroot)}[email protected]h:w$

[email protected]h – имя пользователя@ имя хоста

w -базовое имя текущего каталога ($HOME сокращается до ~ ).

Пример [email protected]h:w[email protected]:~$

$ echo $PS2

>

$ PS3="Select the item number:"

$ echo $PS3

Select the item number:

Глава 7 Арифметические операции.

++ – Автоматическое икрементирование и декрементирование.

+ – Унарный плюс и минус

!~ Логическое отрицание и двоичная инверсия

** Возведение в степень

* / % Умножение, деление, получение остатка от деления

+ – Сложение и вычитание

< < > > Поразрядный сдвиг влево и вправо

< <+ > >= Операции сравнения

== != Операии сравнения: равно,неравно

& Логическая операция И

^ Логическая операция поразрядное исключающее ИЛИ

| Логическая операия поразрядное ИЛИ

&& Логическая операция И (укороченная)

?: Встроенное вычисление по условию

= += -= Присваивание

*= /= %= Присваивание

<<= >>= Присваивание

&= ^= |= Присваивание

Примеры

[email protected]:~$ echo $((2 + 2 )) # сложение

4

[email protected]:~$ echo $((2 – 2 )) # вычитание

0

[email protected]:~$ echo $((2 ** 2 )) # возведение в степень

4

$ echo $((2 * 2 )) # умножение

4

$ echo $((2 / 2 )) # деление

1

$ echo $(( 2==2 )) # сравнение (1 -истина)

1

$ echo $(( 2 != 2 )) # сравнение (0-ложно)

0

[email protected]:~$ echo $(( 2 <= 3 )) # сравнение

1

[email protected]:~$ echo $(( 2 >= 3 )) # сравнение

0

$ let "count=0" "i = i + 1"