
- •7.080403 – Програмне забезпечення автоматизованих систем
- •1 Структура файлової системи, базовий та розгорнутий перелік команд ос unix
- •1.2 Підготовка до роботи
- •1.3 Методичні вказівки до виконання роботи
- •1.3.1 Процедура віддаленої реєстрації користувача на платформі unix
- •1.3.2 Файлова система
- •1.3.3 Середовище виконання процесів
- •1.3.4 Базові команди системи
- •1.4 Порядок виконання роботи
- •1.5 Завдання
- •1.7 Контрольні запитання
- •2 Редактор VI
- •2.3.3 Команди руху маркера по екрану монітора
- •2.3.4 Команди редактора, що забезпечують перехід у режим вводу
- •2.3.6 Команди копіювання
- •2.3.7 Команди пошуку вказаної символьної конструкції або літери
- •2.4 Порядок виконання роботи
- •2.5 Завдання
- •2.7 Контрольні запитання
- •3 Shell. Змінні оболонки shell. Застосування файла .Profile
- •3.3.2 Команда echo
- •3.3.3 Змінні середовища виконання
- •3.3.4 Файл .Profile
- •3.3.5 Використання лапок
- •3.3.6.1 Позиційні змінні (параметри)
- •3.3.6.2 Літерно-цифрові змінні (користувача)
- •3.3.6.3 Раніше визначені спеціальні змінні
- •3.3.7 Переадресація вводу-виводу за допомогою дескрипторів файлів
- •3.3.8 Шаблони, підстановки
- •3.3.9 Спеціальні символи shell операторів
- •3.4 Порядок виконання роботи
- •3.5 Завдання
- •3.7 Контрольні запитання
- •4 Shell. Оператори облонки shell. Програмування в оболонці shell
- •4.1 Мета роботи
- •4.2 Підготовка до роботи
- •4.3 Методичні вказівки до виконання роботи
- •4.3.1 Оператори мови shell
- •4.3.2 Синтаксис shell
- •If список команд
- •4.3.3 Створення та організація процедури у shell
- •4.3.4 Команди підтримки та їх особливості
- •4.3.4.1 Умовна перевірка: test
- •4.3.4.2 Оцінка арифметичних виразів expr
- •4.3.4.3 Команди true і false
- •4.3.4.4 Внутрішньорядкове введення документів
- •4.3.5 Передача параметрів до процедури shell
- •4.3.6 Приклади використання команд shell
- •4.3.6.1 Використання оператора if
- •If список команд
- •If список команд
- •4.3.6.2 Використання оператора case
- •4.3.6.3 Умовні цикли while та until
- •4.3.6.4 Організація циклу для списку: for
- •4.3.6.5 Керування циклами: break та continue
- •4.3.6.6 Кінець файла та вихід
- •4.4 Порядок виконання роботи
- •4.5 Завдання
- •4.7 Контрольні запитання
- •5 Мережні протоколи tcp/ip. Протокол telnet та протокол обміну файлами ftp
- •5.3.1.1 Командний режим telnet
- •5.4 Порядок виконання роботи
- •5.5 Завдання
- •6 Awk. Програмування на мові awk
- •6.3.1 Структура програми на мові awk
- •6.3.2 Поля
- •6.3.3 Вивід на друк
- •6.3.4 Форматований висновок
- •6.3.5 Прості шаблони
- •6.3.5 Вбудовані змінні
- •6.3.6 Змінним, обумовленим користувачем
- •6.3.7 Повідомлення про помилки
- •6.3.8 Вираження
- •6.3.8.2 Відносні вираження
- •6.3.8.3 Регулярні вираження
- •6.3.8.5 Символи
- •6.3.8.6 Комбінації виражень
- •6.3.8.6 Діапазони виражень
- •6.3.8.9 Вбудовані змінні
- •6.3.8.10 Арифметичні дії
- •6.3.8.11 Змінні поля
- •6.3.8.12 Деякі лексичні угоди
- •6.3.8.13 Вивід у файли
- •6.3.8.14 Вивід у канали
- •6.4 Порядок виконання роботи
- •6.5 Завдання
- •6.7 Контрольні запитання
- •Перелік рекомендованої літератури
3.7 Контрольні запитання
1. Яка послідовність розбору командного рядка інтерпретатором shell?
2. Які змінні впливають на середовище користувача?
3. Як за допомогою файла .profile забезпечити запуск програми так, щоб після завершення роботи програми сеанс користувача був закритим?
4. Як передати значення змінної до процесу що був ініційованим поточним процесом?
5. Як передати значення змінної до процедури shell?
6. Яка область дії змінної?
7. Як діють лапки на спеціальні символи?
8. Як виконати підстановку значення змінної?
9. Як виконати підстановку результату виконання команди до рядка символів?
4 Shell. Оператори облонки shell. Програмування в оболонці shell
4.1 Мета роботи
Вивчити можливості застосування команд оболонки для створення програм (командних файлів). Передача параметрів до командного файла через механізм позиційних змінних. Використання раніше визначених спеціальних змінних для керування у командному файлі.
4.2 Підготовка до роботи
Перед лабораторною роботою слід повторити
матеріал за курсом лекцій та за
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 |