Читаем BASH. Справочное пособие полностью

$ man shopt

Нет справочной страницы для shopt

?(шаблон) Совпадение с нулевым или единичным

количеством экземпляров заданного шаблона.

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

количеством экземпляров заданного шаблона.

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

количеством экземпляров заданного шаблона.

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

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

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

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

Пример 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

ls: невозможно получить доступ к 'f81.txt': Нет такого файла или каталога

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

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

f81.txt

2.8 Простая переадресация ввода-вывода.

Ниже отображены формы переадресации ввода-вывода

cmd>file Направить результат команды в файл.

Пример 1

$ date >f30.txt; cat f30.txt

Вт июн 11 22:10:14 MSK 2019

cmd>> file Добавить результат команды в файл

Пример 2

$ date >>f30.txt; cat f30.txt

Вт июн 11 22:10:14 MSK 2019

Вт июн 11 22:11:45 MSK 2019

Перейти на страницу:

Похожие книги

Информатика: аппаратные средства персонального компьютера
Информатика: аппаратные средства персонального компьютера

Рассмотрены основы информатики и описаны современные аппаратные средства персонального компьютера. Сформулированы подходы к определению основных понятий в области информатики и раскрыто их содержание. Дана классификация современных аппаратных средств персонального компьютера и приведены их основные характеристики. Все основные положения иллюстрированы примерами, в которых при решении конкретных задач используются соответствующие программные средства.Рекомендуется для подготовки по дисциплине «Информатика». Для студентов, аспирантов, преподавателей вузов и всех интересующихся вопросами современных информационных технологий.

Владимир Николаевич Яшин

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Цифровой журнал «Компьютерра» № 9
Цифровой журнал «Компьютерра» № 9

ОглавлениеБольшие новостиTorrents.ru: продолжение Автор: Алексей СтародымовПолмиллиона статей в Википедии — это много или мало? Автор: Юрий РевичGoogle: покупки в Рунете Автор: Алексей СтародымовЧто мы знаем об iPhone 4G? Автор: Алексей СтародымовТерралабToshiba Qosmio X500-110 — 18" игровой ноутбук на базе Core i7 Автор: Игорь ОсколковComodo Dragon — защищённый клон Google Chrome Автор: Андрей КрупинМышиные бега Автор: Константин ИвановWindows 7: тактика защиты Автор: Андрей КрупинASRock M3A785GXH/128M: Монстр в бюджетном обличье Автор: Константин ИвановМобильное ТВ от «Билайн» — дождались! Автор: Игорь ОсколковОбзор коммуникатора RoverPC Pro G8 Автор: Алексей СтародымовMicrosoft Security Essentials: остерегайтесь подделок Автор: Андрей КрупинСвоя играВасилий Щепетнёв: Первый Большой Гонорар Автор: Василий ЩепетневMass Effect 2 и не только Автор: Михаил КарповКафедра Ваннаха: Стимул к модернизации Автор: Ваннах МихаилRise of Flight, Crucial и Genius Автор: Сергей ВильяновВасилий Щепетнёв: Запланированные потери  Автор: Василий ЩепетневКивино гнездо: Война как бизнес Автор: БЕРД КИВИВасилий Щепетнёв: Учитель Добреску Автор: Василий ЩепетневКивино гнездо: Назначены виноватыми Автор: БЕРД КИВИИнтерактивMobile World Congress 2010. День четвертый, итоги Автор: Ольга ТопроверMobile World Congress 2010 — неподробные заметки Автор: Фадеев МихаилДомашний Интернет сегодня и завтра Автор: Марина ПелепецАнна Артамонова (Mail.ru): Любое продуманное приложение обречено на успех Автор: Марина ПелепецReaDitorialО двух успешных стартапах Автор: Алексей БабинГолубятня-ОнлайнГолубятня: Сидр № 2 Автор: Сергей ГолубицкийГолубятня: Что почем? Автор: Сергей ГолубицкийГолубятня: Racine du mal Автор: Сергей ГолубицкийНаука и жизнь"Возможно, следующий Google родится в России" Автор: Алла АршиноваЗагорская ГАЭС — фоторепортаж Автор: Юрий Ревич

Журнал «Компьютерра» , Компютерра

Зарубежная компьютерная, околокомпьютерная литература / Прочая компьютерная литература / Книги по IT
Третья мировая война. Какой она будет
Третья мировая война. Какой она будет

На протяжении первого десятилетия XXI века США, Россия, Китай и другие мировые державы развивают новый тип оружия, основанный на новейших технологиях и использовании информационных технологий и Интернета. Специальные подразделения готовят кибернетическое поле битвы с помощью так называемых логических бомб и лазеек, в мирное время размещая виртуальные взрывчатые вещества на территории других стран. Эта новая война — не игра и не плод нашего воображения, не альтернатива обычной войне. В действительности она способна увеличить вероятность более традиционных военных столкновений с применением огнестрельного оружия и ракет. Эта книга поможет понять, что представляет собой кибервойна, как и почему она развивается; проанализировать риски; подготовиться к ней и подумать о том, как ее контролировать. Для создания средств защиты от кибератак потребуется значительное время, но пока этого не произошло, мир подвергается новым серьезным угрозам ослабления международной стабильности и начала новой мировой войны — кибервойны.Как велись кибервойны и информационные атаки в Сирии, Эстонии, Грузии и Ираке? Как за пятнадцать минут и без единого террориста или солдата одержать победу над целым государством? Новое поле битвы — киберпространство.

Ричард Кларк , Роберт Нейк

Публицистика / Культурология / Политика / Прочая компьютерная литература / Образование и наука / Книги по IT