Глава 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"
$ echo $i
2
$ echo $count
0
Глава 8 Предистория выполнения команд.
8.1 Режим редактирования строк.
Для контроля над редактированием строк с командами следует воспользоваться командой
set -o vi или set -o emacs Чтобы ввести команду vi следует нажать клавишу esc.