Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metod_lab_OSUNIX_2006-ukr.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
759.81 Кб
Скачать

3.7 Контрольні запитання

1. Яка послідовність розбору командного рядка інтерпретатором shell?

2. Які змінні впливають на середовище користувача?

3. Як за допомогою файла .profile забезпечити запуск програми так, щоб після завершення роботи програми сеанс користувача був закритим?

4. Як передати значення змінної до процесу що був ініційованим поточним процесом?

5. Як передати значення змінної до процедури shell?

6. Яка область дії змінної?

7. Як діють лапки на спеціальні символи?

8. Як виконати підстановку значення змінної?

9. Як виконати підстановку результату виконання команди до рядка символів?

4 Shell. Оператори облонки shell. Програмування в оболонці shell

4.1 Мета роботи

Вивчити можливості застосування команд оболонки для створення програм (командних файлів). Передача параметрів до командного файла через механізм позиційних змінних. Використання раніше визначених спеціальних змінних для керування у командному файлі.

4.2 Підготовка до роботи

Перед лабораторною роботою слід повторити матеріал за курсом лекцій та за 24екомендованною літературою [1,2,3,4].

4.3 Методичні вказівки до виконання роботи

В операційній системі UNIX shell надає користувачу можливість створювати програми (командні файли). Ці програми не потребують компіляції, оскільки кожний рядок програми розглядається як звичайний командний рядок оболонки, що підлягає інтерпретації. Такий підхід надає можливість користувачу створювати складні програмні конструкції для вирішення поточних завдань, без застосування будь-яких компіляторів. Такі командні файли можуть бути використані у системі як звичайні команди користувача.

4.3.1 Оператори мови shell

Зазначені нижче оператори застосуються у програмах на мові shell.

Примітка. Команда exec, у контексті програми, обробляється інтерпретатором shell, та ще є системний позив exec. Це дві незалежні конструкції мають власні алгоритми роботи.

Наведемо таблицю застосованих конструкцій мови (див. Таб. 4.1).

Таблиця 4.1 – Застосування конструкцій мови shell

.

Виконати команду з поточного інтерпретатора shell, а не з породженого

:

Пуста команда, повертає успішний код завершення (0)

{}

Запускає послідовно команди зі списку

break

Завершує поточну ітерацію циклу та передає управління за межі циклу

case

Багатократний вибір if-then-else

continue

Завершує поточну ітерацію циклу та ініціює іншу ітерацію циклу for, while або until

eval

Виконати ще раз підстановку змінних

exec

Виконати команду з аргументами, перекриваючи поточний shell

Продовження табл.. 4.1

exit

Зупинити виконання поточного командного файла

export

Відправити значення змінної усім підлеглим інтерпретаторам shell

for

Керівне слово у циклі for-do-done

if

Керівне слово послідовності if-then-else

read

Прочитати один рядок стандартного вводу та присвоїти її як значення

test

Перевірити аргумент (виконання умови) та встановити код завершення команди – 0, якщо умова не виконана більше 0

ulimit

Встановити max розмір файла у 512-байтних блоках

umask

Встановити маску доступу до файлів (використовується при створенні файлів)

until

Керівне слово у циклі until-do-done

wait

shell очікує завершення вказаного породженого процесу

while

Керівне сово у циклі while-do-done

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]