Литмир - Электронная Библиотека

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

команде 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;\u@\h:\w\a\]${debian_chroot:+($debian_chroot)}\u@\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

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

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

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

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

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

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

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

\nnn символ представленный восьмиричным значением кода

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

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

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

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

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

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

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

Пример

$ echo $PS1

\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$

u@\h – имя пользователя@\ имя хоста

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

Пример u@\h:\w\$=max1@hp:~$

$ echo $PS2

>

$ PS3="Select the item number:"

$ echo $PS3

Select the item number:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Примеры

max@hp:~$ echo $((2 + 2 )) # сложение

4

max@hp:~$ echo $((2 – 2 )) # вычитание

0

max@hp:~$ echo $((2 ** 2 )) # возведение в степень

4

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

4

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

1

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

1

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

0

max@hp:~$ echo $(( 2 <= 3 )) # сравнение

1

max@hp:~$ echo $(( 2 >= 3 )) # сравнение

0

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

5
{"b":"755569","o":1}