Чтение онлайн

на главную - закладки

Жанры

BASH. Справочное пособие
Шрифт:

@(шаблон) Точное совпадение с одним экземпляром

заданного шаблона.

! (шаблон) Совпадение с любыми символьными

строками не совпадающими с заданным шаблоном

Пример 1 Создадим файл из одной строки

$ cat >fs2.txt

Hello

^d

$ rm fs?(2).txt; cat fs2.txt

cat: fs2.txt: Нет такого файла или каталога

Пример 2

$ cat >fs01.txt

Allo

$ rm fs*(01).txt; cat fs01.txt

cat: fs01.txt:

Нет такого файла или каталога

Пример 3

$ cat >fs_lin.txt

Hello friend

$ rm fs@(_lin).txt; cat fs_lin.txt

cat: fs_lin.txt: Нет такого файла или каталога

Пример 4

$ cat >fs_lin.txt

Hello friend

$ rm fs!(lin).txt; cat fs_lin.txt

rm: невозможно удалить 'fs!(lin).txt': Нет такого файла или каталога

cat: fs_lin.txt: Нет такого файла или каталога

2.4 Совпадение с классами символов.

Класс Совпадающие символы

alnum Буквенно-цифровые

alpha Буквенные

ascii Символы в коде ACII

blank Пробелы и знаки табуляции

cntrl Управляющие

digit Десятичные цифры

graph Непробельные

lower Строчные буквы

print Печатаемые

punct Знаки препинания

space Пробельные

upper Прописные буквы

word То же что и alnum

xdigit Шестнадцатиричные цифры

Пример

Эквивалентом выражения "[a-zA-Z_0-9]" является выражение "[[:alnum:]]"

Выражению "[0-9]" эквивалентно выражение "[[:digit:]]"

Выражению "[a-Z]" эквивалентно регулярное выражение "[[:alpha:]

[01[:alpha:]%] совпадает с 0 ,1 ,любым алфавитным символом или %.

2.5 Раскрытие скобок.

Раскрытие скобок выполняется прежде других видов раскрытия выражений, {} не должны заключаться в кавычки. Подстановка команд при раскрытии скобок игнорируется оболочкой BASH.

Пример 1

$ echo hi{BBB,AAA}there

hiBBBthere,hiAAAthere

Пример2

$ echo a{d,c,b}e

ade ace abe

Пример 3

$ echo 1 to 5 is {1..5}

1 to 5 is 1 2 3 4 5

$ echo 1 to 8 by 2 {1..8}

1 to 8 by 2 1 2 3 4 5 6 7 8

Использование скобок показано на следующем примере – выполнение группы команд.

$ (date; w;) Результат

Чт 22 июл 2021 08:31:12 MSK

08:31:12 up 3:00, 1 user, load average: 0,02, 0,14, 0,18

USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT

max tty2 tty2 05:31 2:59m 0.11s 0.10s /usr/libexec/gn

Использование скобок [ ] и показано на примере простого скрипта.

$ cat >skobki.sh

#!/bin/bash

X=1

while [ $X -lt 5 ]

do

echo "–> $X <–"

X=$(( $X+1 ))

done

exit 0

$ chmod +x skobki.sh

$ ./skobki.sh

–-> 1 <–

–-> 2 <–

–-> 3 <–

–-> 4 <–

2.6

Управляющие последовательности символов.

Распознаются и интерпретируются в следующих контекстах. Символьная строка в форме $ '…'

Аргументы в командах echo -e , printf %b

(Подставить управляющие последовательности символов в символьные строки).

Форматирующие строки, указываемые в команде printf ( управляющие последовательности символов в заданном формате экранируются).

\a Звонок

\b Возврат на 1 позицию

\c Подавить знак новой строки

\e Переход

\E Переход

\f Перевод страницы

\n Перевод строки

\r Возврат каретки

\t Табуляция

\uHHHH Символ HHHH в Юникоде

\nnn Восьмиричное значение nnn

\’ Одиночная кавычка

\” Двойная кавычка

\? Знак вопроса

\\ Обратная косая черта

Простой пример

$ echo -e "Hello Friend"

Hello Friend

$ echo -e "Hello\nFriend"

Hello

Friend

$ echo -e "Hello Friend" \?

Hello Friend ?

2.7 Формы команд.

–Выполнить команду в фоновом режиме $ cmd &.

–Выполнить команды группой в текущей оболочке {cmd1; cmd2}.

Пример 1

$ { who;pwd; }

max tty7 2019-08-12 05:17 (:0)

/home/max

–Выполнить команды в подоболочке (cmd1 ;cmd2)

Пример 2

$ (date; who; pwd) > logfile

$ cat logfile

Сб авг 3 09:03:21 MSK 2019

max tty7 2019-08-03 08:23 (:0)

/home/max

–Передать выход cmd1 на вход cmd2. $ cmd1 | cmd2

Пример 3, найти все файлы с расширением .sh и

сделать их исполняемыми

$ find *.sh -type f |xargs chmod +x

Проверка

$ ls -l *.sh

–Результат команды cmd2 как аргумент cmd1.

$ cmd1 `cmd2`

$ cat `pwd`

cat: /home/max: Это каталог

–Подстановка команд сmd1 $(cmd2)

Пример 4, создадим файл с датой

$ touch f01 $(date)

$ ls -l f01

–rw-rw-r– 1 max max 0 авг 3 09:39 f01

Числовой результат в качестве аргумента

cmd $ (выражение)

–Логическое И. $ cmd1 && cmd2

–Логическое ИЛИ $ cmd1 || cmd2

–Логическое НЕ $!cmd

Пример 5

$ date || touch f81.txt; ls f81.txt

Сб 30 мая 2020 06:43:33 MSK

Поделиться:
Популярные книги

Сильнейший ученик. Том 2

Ткачев Андрей Юрьевич
2. Пробуждение крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Сильнейший ученик. Том 2

Ученик

Первухин Андрей Евгеньевич
1. Ученик
Фантастика:
фэнтези
6.20
рейтинг книги
Ученик

Сирийский рубеж

Дорин Михаил
5. Рубеж
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Сирийский рубеж

Товарищ "Чума" 4

lanpirot
4. Товарищ "Чума"
Фантастика:
городское фэнтези
альтернативная история
5.00
рейтинг книги
Товарищ Чума 4

Тринадцатый XII

NikL
12. Видящий смерть
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
7.00
рейтинг книги
Тринадцатый XII

Кодекс Охотника. Книга XXXVI

Винокуров Юрий
36. Кодекс Охотника
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXXVI

Зауряд-врач

Дроздов Анатолий Федорович
1. Зауряд-врач
Фантастика:
альтернативная история
8.64
рейтинг книги
Зауряд-врач

Искатель 1

Шиленко Сергей
1. Валинор
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Искатель 1

Повелители сумерек

Первушина Елена Владимировна
Фантастика:
фэнтези
ужасы и мистика
юмористическая фантастика
детективная фантастика
6.00
рейтинг книги
Повелители сумерек

Аристократ из прошлого тысячелетия

Еслер Андрей
3. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Аристократ из прошлого тысячелетия

Двойник короля 13

Скабер Артемий
13. Двойник Короля
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Двойник короля 13

Кодекс Охотника. Книга XXII

Винокуров Юрий
22. Кодекс Охотника
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Кодекс Охотника. Книга XXII

Бастард Императора. Том 6

Орлов Андрей Юрьевич
6. Бастард Императора
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Бастард Императора. Том 6

География растений

Гумбольдт Александр
Классики естествознания
Научно-образовательная:
ботаника
7.50
рейтинг книги
География растений