КаталогИндекс раздела
НазадОглавлениеВперед


      

Лабораторная работа 6

Цель работы: ознакомление с базовыми правилами создания и применения командных скриптов.

Выполнение работы

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

  1. Программа-скрипт может быть выполнена при помощи команды sh:
        sh имя_файла_скрипта
  2. Программа-скрипт может стать командой Вашей системы, если Вы дадите ей право выполнения:
        chmod u+x имя_файла_скрипта
    (вышеприведенным оператором право выполнять скрипт дается только владельцу файла-скрипта).

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

        :command not found
    Это сообщение связано с тем, что каталог, в котором записан скрпит, не определен в системе как каталог, в котором ищутся команды. Для того, чтобы обойти это препятствие можно запускать скрипт с указанием пути к нему. Например, если каталог, в котором находится скрипт, является текущим, то скрипт может быть запущен командой вида:
        ./имя_файла_скрипта
  3. Более универсальным способом обеспечения того, чтобы скрипт был найден, является определение каталога, в котором находится скрипт, в числе тех, среди которых система ищет команды. В таких случаях в домашнем каталоге пользователя обычно создается подкаталог ./bin и скрипт помещается в него, а затем имя этого каталога записывается в системную переменную PATH:
        PATH=$PATH:$HOME/bin; export PATH

    Обратите внимание на имена $PATH и $HOME, фигурирующие в этой команде. Это имена стандартных переменных окружения. $PATH - имя переменной, хранящей перечень каталогов, в которых система ищет исполняемые файлы. Каталоги перечисляются в нем через символ ":", таким образом, в этой команде новый каталог добавляется к перечню, сохраняя также и те каталоги, которые были записаны в переменной окружения до этого. $HOME - имя переменной, хранящей имя домашнего каталога пользователя.

    Значение переменной PATH, как и других переменных окружения может быть проверено командой env

    После того, как домашний каталог добавлен в PATH, скрипт может запускаться вводом в командной строке имени файла-скрипта даже без указания каталога, в котором он размещен.

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

В ходе выполнения лабораторной работы Вам предстоит создать последовательности команд, реализующих выполнение Вашей индивидуальной задачи (варианты задач - те же, что и в работе 4), а затем для каждой последовательности выполнить следующие шаги:

  1. Сохранить последовательность команд в файле, проверить выполнение ее с помощью команды sh.
  2. Придать файлу-скрипту права на выполнение, проверить выполнение скрипта запуском из разных каталогов.
  3. После того, как будут выполнены проверки 1, 2 для всех трех скриптов, создать в своем домашнем каталоге подкаталог ./bin и перенести в него файлы-скрипты. Включить созданный подкаталог в переменную PATH и проверить запуск скриптов из нескольких разных каталогов без указания пути.
  4. Создать в своем домашнем каталоге файл .profile и записать в него команду установки PATH. Выйти из системы и снова войти в нее. Проверить запуск скриптов из нескольких разных каталогов без указания пути.

Для протоколирования работы используйте команду script.

Варианты индивидуальных заданий

1 2 3 4 5
6 7 8 9 10
11 12 13 14 15

Предъявление результатов и содержание отчета.

Отчет по лабораторной работе 6 должен содержать протокол выполнения указанных выше шагов задания.

Пример выполнения задания.

Справка


НазадОглавлениеВперед
КаталогИндекс раздела