Лабораторная работа 5.
Базовые скриптовые возможности операционных систем.

Информация

Любая операционная система имеет в своем составе как минимум одну системную программу-оболочку (shell), предназначенную для выполнения команд, запуска приложений и скриптов. В ОС Linux существует несколько десятков оболочек, наиболее распространенными из которых являются sh и bash. Для ОС Windows также разработано несколько оболочек, наиболее известной из которых является командный интрепретатор cmd.exe. Менее известен Windows Scripting Host, в виде интерпретатора cscript.exe. В новых версиях Windows (Vista и выше) базовой оболочкой является PowerShell.

Скриптом называется текстовый файл, содержащий набор команд оболочки или другого интрепретатора команд, который может быть запущен и выполнен как любая программа. В ОС Windows файлы скриптов имеют расширение .bat или .cmd и исполняются командным интерпретатором cmd.exe. В OC Linux и большинстве других unix-систем, у файлов-скриптов присутствует бит исполняемости, а первая строка указывает на используемый командный интерпретатор (его местоположение в файловой системе) и начинается с набора символов #! (Sha-Bang). Например, для оболочки bash первая строка скрипта будет выглядеть так:

#!/bin/bash
Для файлов-скриптов в ОС Linux рекомендуется использовать расширение, указывающее на интерпретатор команд. Например, файлы скриптов, обрабатываемые оболочкой, часто имеют расширение .sh (от англ. shell - оболочка).

В современных ОС каждой программе и скрипту при запуске передается набор переменных окружения в виде строковых пар ИМЯ=ЗНАЧЕНИЕ. В этот набор включены данные об операционной системе, в том числе - имя текущего пользователя, используемый язык, домашний каталог пользователя, набор путей для запуска программ, версия оболочки, каталог для временных файлов и многое другое. Список переменных окружения может быть получен с помощью команды set. Программист может устанавливать и получать значения переменных окружения, использовать их для передачи данных от одной программы (скрипта) другой.

Передача данных между программами (скриптами) может осуществляться также с помощью параметров, заданных в командной строке при запуске программы (скрипта). Параметры обычно идентифицируются цифровыми значениями (0 - имя самой программы, 1 - первый параметр, 2 - второй параметр и т.д.), в остальном доступ к ним аналогичен доступу к переменным окружения.

Задание

  1. Разработать скриптовую программу ном_ст_бил.bat на языке командного интерпретатора Windows (cmd.exe), которая формирует набор файлов ЛР№1 в каталоге, полное имя которого передано в качестве параметра. Программа должна проверять наличие целевого каталога и при необходимости - создавать его. Информацию о домашнем каталоге текущего пользователя программа должна получать из переменных окружения. Программа должна комментировать на терминале формирование каждого файла. Информацию о переменных окрюжения и способах работы с ними можно получить с помощью команды help set. Информацию о применении условных операторов - с помощью команды help if.
  2. Разработать скриптовую программу ном_ст_бил.sh на языке одной из оболочек Linux (bash), которая формирует набор файлов ЛР№2 в каталоге, полное имя которого передано в качестве параметра. Программа должна проверять наличие целевого каталога и при необходимости - создавать его. Информацию о домашнем каталоге текущего пользователя программа должна получать из переменных окружения. Программа должна комментировать на терминале формирование каждого файла. Документацию по оболочке bash можно получить по адресу http://vc.shgpi/arc/doc/bash/abs-book.html