Глава 2. Основы работы с bash
45
Упражнения
1.. Поэкспериментируйте.с.командой.
uname
.и.посмотрите,.что.она.выводит.в.раз-
личных.операционных.системах..Перепишите.сценарий.
osdetect.sh
,.чтобы.
использовать.команду.
uname
.с.одной.из.ее.опций..Внимание:.в.разных.операци-
онных.системах.не.все.опции.доступны.
2.. Измените.сценарий.
osdetect.sh
,.чтобы.использовать.функцию..Поместите.
логику.
if
/
then
/
else
.внутрь.функции,.а.затем.вызовите.из.скрипта..У.самой.
функции.не.должно.быть.вывода..Сделайте.вывод.из.основной.части.скрипта.
3.. Установите.для.сценария.
osdetect.sh
.права.на.выполнение.(см..
man
.
chmod
),.
чтобы.можно.было.запускать.его.без.использования.
bash
.в.качестве.первого.
слова.в.командной.строке..Как.вы.теперь.вызываете.скрипт?
4.. Напишите.скрипт.с.именем.
argcnt.sh
,.который.сообщает.количество.передан-
ных.в.него.аргументов.
.
y
Измените.свой.скрипт,.чтобы.он.также.выводил.каждый.аргумент.по.одному.
в.строке.
.
y
Измените.скрипт.так,.чтобы.каждый.аргумент.помечался.следующим.об-
разом:
$ bash argcnt.sh this is a "real live" test
there are 5 arguments
arg1: this
arg2: is
arg3: a
arg4: real live
arg5: test
$
5.. Измените.
argcnt.sh
.так,.чтобы.он.выводил.только.четные.аргументы.
Чтобы.просмотреть.дополнительные.ресурсы.и.получить.ответы.на.эти.вопросы,.
зайдите.на.сайт.
https://www.rapidcyberops.com/
.
3
Регулярные
выражения
Регулярные выражения
.(regular.expressions,.сокращенно.regex).—.это.мощное.
средство.для.описания.текстового.шаблона,.который.согласовывается.с.помощью.
различных.инструментов
.
.В.bash.регулярные.выражения.допустимы.в.составной.
команде.
[[
.при.использовании.сравнения.
=~
,.например,.в.операторе.
if
..Однако.
регулярные.выражения.являются.важной.частью.более.широкого.инструментария.
для.таких.команд,.как.
grep
,.
awk
.и.особенно.
sed
..Это.очень.мощные.команды,.по-
этому.их.необходимо.знать.
Во.многих.примерах.главы.мы.будем.использовать.файл.
frost.txt
.с.семью.—.да,.
семью.—.строками.текста.(пример.3.1).
Пример 3.1.
Файл frost.txt
1 Two roads diverged in a yellow wood,
2 And sorry I could not travel both
3 And be one traveler, long I stood
4 And looked down one as far as I could
5 To where it bent in the undergrowth;
6
7 Excerpt from The Road Not Taken by Robert Frost
Воспользуемся.содержимым.файла.
frost.txt
.для.демонстрации.возможностей.
регулярных.выражений.при.обработке.текстовых.данных..Этот.текст.был.вы-
бран.потому,.что.для.его.понимания.не.нужны.предварительные.технические.
знания..Если.вы.работаете.в.операционной.системе.Windows,.создайте.в.кор-
невом.каталоге.папку.
/home
,.а.в.ней.—.текстовый.файл.с.именем.
frost.txt
..
Добавьте.в.него.приведенный.в.примере.3.1.текст..В.операционной.системе.
Linux.каталог.
/home
.создан.по.умолчанию,.вам.нужно.только.создать.текстовый.
файл.
frost.txt
.
Do'stlaringiz bilan baham: |