Страница 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"