Вячеслав Ткачев - BASH. Справочное пособие
- Название:BASH. Справочное пособие
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:2022
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Вячеслав Ткачев - BASH. Справочное пособие краткое содержание
BASH. Справочное пособие - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
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"
$ echo $i
2
$ echo $count
0
Глава 8 Предистория выполнения команд.
8.1 Режим редактирования строк.
Для контроля над редактированием строк с командами следует воспользоваться командой
set -o vi или set -o emacs Чтобы ввести команду vi следует нажать клавишу esc.
Конец ознакомительного фрагмента.
Текст предоставлен ООО «ЛитРес».
Прочитайте эту книгу целиком, на ЛитРес.
Безопасно оплатить книгу можно банковской картой Visa, MasterCard, Maestro, со счета мобильного телефона, с платежного терминала, в салоне МТС или Связной, через PayPal, WebMoney, Яндекс.Деньги, QIWI Кошелек, бонусными картами или другим удобным Вам способом.
Интервал:
Закладка: