|
|
Лабораторная работа 6Цель работы: ознакомление с базовыми правилами создания и применения командных скриптов. |
Сложная обработка текстов (и ряд других задач) требует выполнения довольно длинных последовательностей команд. Поскольку ввод всех команд такой цепочки может занять достаточно много времени и чреват ошибками, в Unix существует понятие скрипта (сценария). Скрипт представляет собой любую последовательность команд, сохраненную в файле. Скрипт является текстовым файлом и создается и редактируется средствами любого текстового редактора. (Как и любой текстовый файл, скрипт может также создаваться и программой или другим скриптом.)
sh имя_файла_скрипта
chmod u+x имя_файла_скрипта
(вышеприведенным оператором право выполнять скрипт дается только владельцу файла-скрипта).
После того, как это сделано, скрипт может запускаться на выполнение так же, как и любая команда системы - вводом в командной строке имени файла-скрипта. При запуске скрипта на выполнение, однако, может выдаться сообщение типа:
:command not found
Это сообщение связано с тем, что каталог, в котором записан скрпит, не определен в системе как каталог, в котором ищутся команды. Для того, чтобы обойти это препятствие можно запускать скрипт с указанием пути к нему. Например, если каталог, в котором находится скрипт, является текущим, то скрипт может быть запущен командой вида:
./имя_файла_скрипта
PATH=$PATH:$HOME/bin; export PATH
Обратите внимание на имена $PATH и $HOME, фигурирующие в этой команде. Это имена стандартных переменных окружения. $PATH - имя переменной, хранящей перечень каталогов, в которых система ищет исполняемые файлы. Каталоги перечисляются в нем через символ ":", таким образом, в этой команде новый каталог добавляется к перечню, сохраняя также и те каталоги, которые были записаны в переменной окружения до этого. $HOME - имя переменной, хранящей имя домашнего каталога пользователя.
Значение переменной PATH, как и других переменных окружения может быть проверено командой env
После того, как домашний каталог добавлен в PATH, скрипт может запускаться вводом в командной строке имени файла-скрипта даже без указания каталога, в котором он размещен.
В ходе выполнения лабораторной работы Вам предстоит создать последовательности команд, реализующих выполнение Вашей индивидуальной задачи (варианты задач - те же, что и в работе 4), а затем для каждой последовательности выполнить следующие шаги:
Для протоколирования работы используйте команду script.
Пример выполнения задания.