bannerbannerbanner
Скрипты. Сценарии автоматизации. Учебное пособие

Валентин Юльевич Арьков
Скрипты. Сценарии автоматизации. Учебное пособие

Полная версия

© Валентин Юльевич Арьков, 2025

ISBN 978-5-0065-8540-9

Создано в интеллектуальной издательской системе Ridero

0. Введение

Усложнять – просто,

упрощать – сложно.

(Закон Мейера)


Сегодня на повестке дня пара вопросов. Вопрос первый: Не пора ли нам уже заняться программированием? Вопрос второй: Зачем? Ибо программы пишут с разными целями.

Одно из направлений в программировании – это автоматизация привычных, повторяющихся, однообразных действий. Их обычно называют словом «рутина». Между прочим, слово routine имеется в немецком, французском и английском языках и буквально означает «путь», маршрут», «проторенная дорога», а также «привычная процедура». В компьютерных технологиях английское слово routine часто используют именно в этом, последнем значении – «процедура», «программа». Часть программы – это «подпрограмма» – subroutine. Здесь приставка sub- буквально означает «под-». Получается sub + routine = под + программа.

Автоматизация нужна на уровне использования операционной системы. Здесь появляются шаблоны действий, сценарии, последовательность операций. Их оформляют в виде простых программ, которые называют «скрипты». Буквально английское слово script означает «сценарий», «план действий», а также «рукопись» и даже просто «рукописный шрифт». Такие сценарии бывают полезны для записи последовательности операций, да и просто для хранения длинных команд с большим количеством параметров. В качестве упражнения выясните, что может означать английское слово SCRIPT и каково его происхождение. Нет ли тут родственных связей с тем, как скрипит перо по бумаге и как скребут кошки на душе; -)

Общее знакомство со скриптами – это часть компьютерной грамотности – и для пользователя, и для программиста, и для системного администратора (сисадмина). Вот этим видом программирования мы сейчас займемся.

Попутно мы знакомимся с различными видами интерфейса пользователя – User Interface (UI). Интерфейс есть у любой программы. Разработчик-программист создает этот интерфейс. Пользователь работает, общается с программой через интерфейс. Разные виды интерфейса открывают разные возможности. Они нужны для решения разных задач. Нам нужно представлять общую картину, чтобы грамотно этим инструментом пользоваться.

База знаний

При изучении новых технологий мы будем периодически обращаться к такому популярному ресурсу, как «народная энциклопедия». Это более-менее стабильный ресурс, не самый лучший, не самый точный и не самый подробный. Относитесь к нему, как к примеру организации «базы знаний» по принципу Crowd Source. И в этом примере нам интересна сама по себе технология информационного наполнения и организация поиска материалов. Эта технология сама по себе стала практическим стандартом для организации справочных материалов, а многие сервисы позаимствовали корень «вики» для своих платформ и продуктов.

Главная особенность (достоинство и недостаток одновременно) в том, что практически любой желающий может разместить здесь свой материал или внести исправления в существующую статью. Изменения будут опубликованы после недолгой проверки (модерации). Естественно, это влияет на скорость создания, а также качество материалов. Зачастую здесь встречаются фрагменты текста из учебников. Конечно же, никто не мешает вам найти более надежные источники по любой теме.

Задание. Выясните, что означает слово «Вики», откуда оно позаимствовано, какая технология использована для построения «народной энциклопедии» и где еще такая технология применяется в настоящее время.

Задание. Просмотрите статьи Краудсорсинг и Crowdsourcing. Выпишите названия некоторых примеров таких проектов.

Чат-боты

При работе с новым материалом вам придется искать ответы на вопросы и решения для проблемных ситуаций. Традиционно мы ищем ответы с помощью поисковых машин, таких как Yandex или Google. В последнее время нам приходят на помощь интеллектуальные диалоговые сервисы – Chat bots —

Чат-боты. Слово Chat означает «беседа, разговор, болтовня», а слово Bot – это окончание слова Robot. Имеется в виде программа, которая работает автоматически, без участия человека, как робот – то есть «программный робот». Современные чат-боты – это на самом деле удобный программный интерфейс к системам искусственного интеллекта. Прежде всего, к нейросетям. Существуют и другие способы работы с интеллектуальными системами, мы будем рассматривать их с последующих разделах.

В наших заданиях мы рекомендуем ориентироваться на отечественный сервис, предлагаемый одним ведущим «зеленым» банком. Можно обращаться и к любым другим инструментам. В предыдущих работах мы уже разбирали, как грамотно составлять качественные запросы к нейросетям. Напомним, что при работе с нейросетями можно получить неграмотные или неточные ответы, которые звучат очень убедительно и выглядят правдоподобно. Такая ситуация возникает при нехватке информации и называется «галлюцинация». Поэтому ответы нейросети нужно воспринимать критически и обязательно проверять их правильность. В нашем случае проверка простая: будет ли работать сгенерированная программа.

Странные названия

При выполнении заданий мы обращаем внимание на названия фирм, технологий и программ. Каждое название имеет свою историю и несет какой-то смысл. Выясняется, что чаще всего эти названия появляются совершенно случайным образом. Конечно, иногда программисты даже пытаются что-то сообщить этим названием.

Известны случаи, когда названия серьезных программных продуктов придумали дети. Так можно легко получить слово, которое сможет выговорить любой ребенок. Слово простое, приятное для слуха и абсолютно бессмысленное.

Со временем люди привыкают к этим названиям, и менять их уже никто не будет. Тем более, что эти названия уже зарегистрированы и запатентованы.

Одна из причин в том, что компьютерные технологии развиваются очень быстро. Даже слишком быстро. Быстрее, чем любая другая отрасль человеческой деятельности. И с этим приходится считаться.

Среда разработки

Чтобы написать и запустить компьютерную программу, нужно выполнить хотя бы эти два действия – (1) написать и (2) запустить – звучит вроде бы наивно, просто и очевидно. И мы начинаем с «самого простого». Постепенно эту схему можно усложнить до невозможности – если, конечно, захочется.

Работать будем в одной популярной операционной системе. Надо понимать, что мы просто разбираем примеры, иллюстрации, демонстрации. А за этими примерами просматриваются общие технологии, которые применяется на самых разных платформах. Мы обсуждаем технологии разработки программ и не слишком погружаемся в тонкости языка программирования. Составление программ на разных языках программирования и в разных ОС не слишком сильно различаются.

Итак, в простейшем случае нам понадобятся два отдельных инструмента: для редактирования текстового файла и для запуска программы.

Для серьёзной работы над программами есть серьёзные инструменты. И называются они так: интегрированная среда разработки – IDE – Integrated Development Environment.

Задание. Посмотрите статьи Интегрированная среда разработки и Integrated development environment. Выясните, какие инструменты входят в состав современных IDE. Уточните список основных компонентов среды разработки с помощью интеллектуального чат-бота.

1. Пакетные файлы BAT/CMD

Только у нас есть

пакет для хранения пакетов…

(народная мудрость)


Наша первая программа – это пакетный файл. Обычно ему дают расширение *.BAT – от английского слова BATCH – «пакет». Называют такой файл «пакетным» потому, что в нем несколько команд объединяют в один «пакет» заданий. Если работать в консоли, то мы каждый раз вводим по одной команде и запускаем её на выполнение. Внутри пакетного файла можно написать несколько команд, и они выполняются как одно большое задание. Так получается «пакет» из нескольких команд.

Пакетные файлы были разработаны для командной строки, а затем они перекочевали в оконную среду. В основном, для совместимости с прежними разработками.

В других ситуациях и в других ОС такие файлы могут называть «сценарии», «скрипты» и так далее. Все зависит от фантазии и эрудиции разработчика. При этом слово «пакет» у них может иметь совсем другой смысл. Тем более, что английские слова BATCH и PACKET переводятся как «пакет». Будьте бдительны, имея дело с программистами и плодами их трудов.

Задание. Просмотрите статьи Скриптовый язык и Scripting language. Обратите внимание на первоначальное предназначение скриптовых языков и список примеров таких языков.

CMD / CLI

Запустим консоль. Это «чёрное окно с белыми буквами». Один из первых интерфейсов пользователя. Другие названия: терминал, командное окно, командная строка, интерпретатор командной строки, Command Prompt, Command Processor.

Самый быстрый способ запустить командное окно – нажать комбинацию клавиш [Win + R], ввести cmd и нажать [Enter]. Здесь R – первая буква слова RUN – «запустить, выполнить». CMD – это название программы, которая обслуживает командную строку – Command Line. В последнее время стало модно называть её CLI – Command Line Interface – интерфейс командной строки.

Здесь вводим команды с помощью клавиатуры, нажимаем ENTER и сразу получаем ответ операционной системы, см. рис.

Рис. Традиционное командное окно


Например, команда VER позволяем нам узнать версию операционной системы (ОС) и даже номер сборки. Есть даже специальная команда HELP, которая выводит список основных команд ОС. В этом командном окне можно использовать и большие, и маленькие буквы (заглавные и строчные) – система их не различает. Видимо, это наследство предшественника – старой системы, которая работала в текстовом режиме. В других системах регистр букв нужно строго соблюдать при вводе команд.

 

Задание. Заучите разные названия командного окна – наизусть, как стихи. Вы должны быть готовы встретить любое из этих названий и понять, о чем идет речь. И даже догадаться, что если один человек говорит «терминал», а другой «консоль»… то речь идет об одном и том же.


Задание. Запустите командное окно и выведите на экран список доступных команд. Выясните, как вывести на экран список задач (то есть процессов, или запущенных программ) и как остановить выполнение выбранного процесса. Теперь введите команду, чтобы остановить выполнение процесса, который обслуживает наше текущее командное окно.


Задание. Просмотрите статью cmd. exe – русский и английский вариант. Ознакомьтесь с примерами команд. Выясните, какой современный инструмент пришел на смену традиционному командному окну.

Batch file

Переходим к составлению и запуску пакетного файла. Начинаем с текстового редактора. Запускаем встроенный редактор Notepad, он же Блокнот. Найти его можно в меню Пуск, или через поиск, или ввести вручную: [Win + R] – notepad. Здесь буква R по-прежнему намекает на английское слово Run – Запустить программу.


Рис. Запускаем Блокнот


Открываем Блокнот и составляем простую программу, см. рис. Сохраним ее в файле hello.bat. Все наши программы будем складывать в одну «рабочую» папку. В нашем примере это каталог Development на диске E. Кстати, слова «папка», «каталог», «директория», «folder» – это разные названия одного и того же объекта. Просто их используют в разных ОС и в разное время. Наверное, скоро ещё что-нибудь придумают.


Рис. Первый пакетный файл


В нашей программе две строчки. Первая команда – вспомогательная, она отключает вывод на экран самих команд. Вторая команда – главная, она выводит на экран приветствие. Подробные объяснения по каждой команде и даже по каждой букве или символу можно получить с помощью нейросетей.


Задание. Выясните с помощью Гигачата все подробности о работе нашей программы.


Задание. Просмотрите на Википедии статьи Пакетный файл и Batch file. Выясните, какие расширения бывают у таких файлов.


Программа готова. Можно запускать. Откроем командное окно и перейдем в наш каталог, см. рис. Для начала сменим текущий диск, затем сменим каталог. Выводим на экран список пакетных файлов. Запускаем файл на выполнение, для этого вводим его имя (без расширения) и нажимаем Enter.

В этом примере появляется особая технология – шаблоны. Здесь мы используем самый простой шаблон – звездочку. Она означает любое количество символов или даже отсутствие символов. Вместо того, чтобы писать полностью название каталога Development, мы написали две буквы и поставили звездочку.


Рис. Запускаем пакетный файл


Задание. Составьте пакетный файл и запустите его на выполнение. С помощью нейросети изучите каждую команду данного примера.


Вернемся к звездочкам. Это пример того, что называется wildcard-символами или просто wildcards. Этот термин wildcard переводится как «шаблон», вместо него можно подставить любые символы. В карточных играх это «джокер», который превращается в любую карту. Это история, это происхождение термина. Может помочь в понимании компьютерных технологий. А еще это просто любопытный факт – для расширения кругозора. При желании можно копнуть еще глубже и узнать, что «джокер» по-английски означает «шутник», но происходит это слово из совсем другого языка и с совсем другим смыслом.


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


Теперь запустим наш файл с помощью Проводника – двойным щелчком мыши. Такое ощущение, как будто ничего не происходит. Если повторить опыт и внимательно присмотреться, можно заметить, как что-то мелькнуло. Это открылось командное окно, вывело приветствие и быстренько закрылось – и все это за считанные доли секунды.

Чтобы продлить удовольствие и успеть прочитать сообщение, нужно «остановить мгновение». Для этого есть полезная команда PAUSE – то есть пауза, задержка.

Нам нужно отредактировать наш пакетный файл. Нажимаем правую кнопку мыши и в контекстном меню выбираем Edit – Изменить. Добавляем новую строчку с новой командой, сохраняем и запускаем, см. рис. Теперь мы успеем прочитать сообщение и подумать о смысле жизни. Постепенно приходим в себя и нажимаем любую клавишу. Окно закрывается.


Рис. Поставим на паузу…


Задание. Составьте пакетные файлы с командами ECHO и PAUSE. Запустите их в командном окне и графической среде.

1  2  3  4  5  6  7  8 
Рейтинг@Mail.ru