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

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

Жанры

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. Фараон
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Прогрессор поневоле

Господин моих ночей (Дилогия)

Ардова Алиса
Маги Лагора
Любовные романы:
любовно-фантастические романы
6.14
рейтинг книги
Господин моих ночей (Дилогия)

Идеальный мир для Лекаря

Сапфир Олег
1. Лекарь
Фантастика:
фэнтези
юмористическое фэнтези
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря

Авиатор: назад в СССР

Дорин Михаил
1. Авиатор
Фантастика:
попаданцы
альтернативная история
5.25
рейтинг книги
Авиатор: назад в СССР

На границе империй. Том 8. Часть 2

INDIGO
13. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 8. Часть 2

Барон Дубов 4

Карелин Сергей Витальевич
4. Его Дубейшество
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
5.00
рейтинг книги
Барон Дубов 4

Имперский Курьер. Том 3

Бо Вова
3. Запечатанный мир
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Имперский Курьер. Том 3

Бестужев. Служба Государевой Безопасности. Книга 5

Измайлов Сергей
5. Граф Бестужев
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга 5

Адвокат Империи 2

Карелин Сергей Витальевич
2. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 2

Баронесса. Эхо забытой цивилизации

Верескова Дарья
1. Проект «Фронтир Вита»
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Баронесса. Эхо забытой цивилизации

Адвокат Империи 7

Карелин Сергей Витальевич
7. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
альтернативная история
аниме
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 7

Чехов

Гоблин (MeXXanik)
1. Адвокат Чехов
Фантастика:
фэнтези
боевая фантастика
альтернативная история
5.00
рейтинг книги
Чехов

Крещение огнем

Сапковский Анджей
5. Ведьмак
Фантастика:
фэнтези
9.40
рейтинг книги
Крещение огнем

Невеста клана

Шах Ольга
Фантастика:
попаданцы
фэнтези
5.00
рейтинг книги
Невеста клана