Читать книгу «Скрипты. Сценарии автоматизации. Учебное пособие» онлайн полностью📖 — Валентина Юльевича Арькова — MyBook.
image

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

Чтобы написать и запустить компьютерную программу, нужно выполнить хотя бы эти два действия – (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. Запустите их в командном окне и графической среде.

Интерпретатор

Обсудим наши эксперименты. Нашу программу выполняет интерпретатор командной строки ОС. Он выполняет ее постепенно – по одной строке. Читает одну команду за другой из файла по очереди и выполняет.

Интерпретатор – это такой инструмент для «пошагового» выполнения программ. Английское слово Interpreter означает «переводчик». Он переводит программу с «человеческого» языка на «компьютерный», «машинный» (имеется в виду язык, понятный процессору вычислительной машины).

Если углубиться в технологии программирования, можно встретить трансляторы. Но английское слово translator тоже означает «переводчик». А ещё бывают компиляторы и много чего другого. Каке-то надо это в одну простую схему ложить. Назовем её «Трансляторы в программировании». Для начала покопаемся в простых статьях на Вики, а потом позовем на помощь какого-нибудь чат-бота.

Задание. Просмотрите на Википедии следующие статьи:

– Интерпретатор

– Interpreter (computing)

– Компилятор

– Compiler

– Транслятор

– Translator (computing)

Постройте с помощью PlantUML схему «Трансляторы в программировании», чтобы показать, как связаны разные инструменты программирования.

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

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

Задание. Выясните, какие значения имеют английские слова translator и interpreter и как это «отобразилось» на термины транслятор и интерпретатор в программировании.

Примеры пакетных файлов

Мы познакомились с основной идеей пакетного файла Windows. Оказывается, здесь есть свой язык программирования. Теперь можно начать составлять несложные программы на этом языке.

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

– выведите на экран числа от 2 до 20 с шагом 2 с помощью цикла FOR

– создайте директорию, используйте в качестве названия свою фамилию на английском. Перейдите в нее

– выведите на экран приветствие и перенаправьте это сообщение в файл под названием x. txt

– проверьте, существует ли файл под названием x. txt, и удалите его

– запустите блокнот notepad. exe и дождитесь его закрытия перед продолжением работы

– запросите имя пользователя, сохраните его в переменной и выведите на экран приветствие с использованием этой переменной

– спросите у пользователя, сколько минут он уже занимается этой лабораторной работой, и в зависимости от ответа выведите разные сообщения: меньше 30 – «маловато будет…”, больше 30 – «молодец, продолжай!»

Параметры командной строки

Один из ключевых инструментов в командной строке – это параметры (аргументы) командной строки. Это просто короткие строчки текста. При начальном знакомстве можно использовать и «параметры», и «аргументы». Конечно, профессиональный разработчик скажет, что это совершенно разные вещи. Особенно, если речь идет о функциях в классических программах. Но об этом потом.

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

На входе любой команды мы сообщаем дополнительные параметры – через пробел. Это параметры (аргументы) командной строки. Например, мы можем написать команду CD без параметров и получить имя текущего каталога. Можем перейти в корневой каталог текущего диска: CD \. Либо мы напишем CD TMP и перейдем в каталог под названием TMP. Каждый раз текущий каталог выводится в начале командной строки в виде приглашения к вводу команд. Дополнительные параметры мы указываем через пробел после имени команды.

Большинство команд ОС имеют дополнительные параметры. Так мы управляем поведением команд. И этот прием можно использовать при составлении пакетных файлов (скриптов).

Рис. Параметры командной строки


Эти дополнительные параметры описаны в справке по выбранной команде. Чтобы получить описание команды CD, напишем CD /? и нажимаем Enter. В таком описании действует общее соглашение: в квадратных скобках приводятся необязательные параметры. Их можно не указывать. Но если мы захотим их использовать, то квадратные скобки не нужны, см. рис.


Рис. Справка для CD


Мы можем сменить текущий каталог, или текущий диск, или и то, и другое. На рисунке приведены примеры использования параметров CD. Еще выясняется, что можно использовать команды CD и CHDIR и получить тот же самый результат. Можно сказать, что CD – это «псевдоним», сокращение, укороченный /сокращенный вариант для длинного названия команды CHDIR. А это, в свою очередь, – сокращение для фразы Change Directory – сменить каталог.