Page 36 - 4820
P. 36
ЛАБОРАТОРНА РОБОТА № 7
ПРОФЕСІЙНА РОБОТА З КОМАНДНИМИ ОБОЛОНКАМИ
Мета роботи: оволодіння практичними навичками професійної роботи з
командною оболонкою shell – використання змінних і створення командних файлів.
7.1 Теоретичні відомості
У попередніх роботах ми вже познайомились з командними оболонками (shell).
У цій роботі розглянемо прийоми професійної роботи з командними оболонками, а
саме використання змінних оточення і створення командних файлів.
Командний файл, або сценарій (також дуже часто кажуть “скрипт” від
англійського script – сценарій) є текстовим файлом, який оформлено з дотриманням
певних правил, і який містить команди, у найпростішому випадку повністю аналогічні
тим командам, що вводяться з клавіатури. Командна оболонка здатна запускати такий
файл на виконання і послідовно виконувати команди, що містяться в ньому. Для
користувача, що запустив цей сценарій, його виконання буде виглядати як виконання
звичайної програми.
Зверніть увагу на розбіжності у різних програмних оболонках shell, які суттєві
для програмування. Під час виконання роботи впевніться, в якій із програмних
оболонок Ви працюєте (зазвичай, для FreeBSD це csh чи tcsh, а для Linux – bash, який є
розвитком sh), і яка буде запускатись для виконання Вашого командного файлу (це
визначається першим рядком Вашого командного файлу). Уважно прочитайте правила
використання операторів if і формування перевірки відповідної умови. Зверніть увагу
на команду test.
Важливою можливістю командних оболонок (усіх) є обробка так званих
пакетних файлів.
7.2 Хід роботи
1. Створити командний файл, який буде виконувати завдання пп. 1-3
Лабораторної роботи № 5 відповідно до індивідуального завданя.
2. Модифікувати конфігураційний файл shell, щоб системне запрошення мало
вигляд "Hello, <ім’я>", а перед виводом системного запрошення на початку роботи shell
друкував на екрані велике вітання з інформацією про систему, поточну дату і час.
3. Записати у файл ~/lab_6/res_3 список файлів у каталозі, ім'я якого зазначено в
системній змінний x, якщо він існує; у противному випадку в цей файл повинен
записатися рядок "Error". При цьому на екрані не повинно з'явитися повідомлення від
команди ls у випадку відсутності каталогу.
4. Задати системну змінну MY_DIR, значенням якої повинно стати ім’я каталогу
з завдання пп. 7, 8 Лабораторної роботи № 5. Повторити завдання попереднього
пункту, використовуючи призначену системну змінну і записуючи результат у файл
~/lab_6/res_4.
5.Створити командний файл, що виконує наступне: у випадку, якщо файл
my_file існує, то виводить його вміст; у противному випадку виводить повідомлення
"File <ім’я файлу> not found". Перед виводом вмісту файлу повинен друкуватися
заголовок "Вміст файлу <ім’я файлу>". При цьому на екрані не повинні з'явитися
повідомлення, видавані системними командами. Використовувати механізм умовного
34