
- •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 Контрольні запитання
- •Перелік рекомендованої літератури
2.7 Контрольні запитання
1. У якому режимі знаходиться редактор після його активації?
2. Які дії потрібно виконати, щоб повернутися з режиму вводу до командного режиму?
3. За допомогою якої команди можна відкрити новий рядок у режимі вводу?
4. Як знайти шаблон у файлі?
5. Як повторити пошук шаблону?
6. Як повторити пошук шаблону у зворотному напрямку?
7. Як вилучити з буфера рядок?
8. Як відмовитися від виконаної команди?
9. Як зберегти кілька рядків буфера у файлі?
10. Як завершити роботу редактора без збереження буфера редактора?
11. Як завершити роботу редактора без запису буфера у файл?
3 Shell. Змінні оболонки shell. Застосування файла .Profile
3.1 Мета роботи
Вивчити можливості застосування змінних середовища (змінні системи, користувача, позиційні та раніше визначені) для створення програмованих умов роботи користувача. Вивчення особливостей синтаксису та області дії змінних при застосуванні.
3.2 Підготовка до роботи
Перед лабораторною роботою слід повторити матеріал за курсом лекцій та за рекомендованою літературою [1,2,3,4].
3.3 Методичні вказівки до виконання роботи
В операційній системі shell є провідником між користувачем та ядром операційної системи. Так як операційна система працює на засадах інтерпретації будь-якої послідовності символів, посланих користувачем через систему вводу-виводу. Тому важливо розуміти, які процеси відбуваються у процесі сеансу роботи та як змінні можуть впливати на роботу користувача.
3.3.1 Послідовність інтерпретації командного рядка shell
Shell виконує таку послідовність дій з інтерпретації командного рядка (дій) користувача:
Читати вхідний рядок та виконати синтаксичний розбір.
Виконати словниковий супровід розбору.
Виконати підстановку параметрів.
Виконати підстановку команд.
Перевизначити пристрої вводу-виводу.
Обробити внутрішні розподіли полів.
Розкрити найменування файла(ів).
Виконати трасування виконання.
Обробити змінні середовища.
Виконати команду.
Цю послідовність дій слід запам’ятати, бо це є засадою розуміння послідовності дій будь-якого інтерпретатора операційної системи. Але є виключення, коли потрібно використовувати команду eval, для додаткової підстановки у командному рядку. Таку ситуацію буде розглянуто у наступній лабораторній роботі.
3.3.2 Команда echo
Команда echo застосовується як допоміжна команда системи, щоб мати можливість вивести значення змінних або результату виконання команди системи на стандартний вивід. Команда має такий синтаксис:
echo [опції] [аргументи]
У цьому випадку команда копіює свої аргументи на стандартний вивід.
3.3.3 Змінні середовища виконання
Змінні середовища виконання є зарезервовані слова, які використовує інтерпретатор. Вони встановлюються, коли користувач реєструється у системи, у вигляді літерних рядків. Змінити їх можна тільки перевизначенням або виключенням. Область дії змінної, що переустановили поточний процес. Звичайно змінні зберігають своє значення для усіх процесів, що породив поточний процес. Наведемо змінні:
HOME – програма login призначає цій змінній значення (повний шлях) до домашнього каталога користувача. Команда cd, вказана без аргументів, використовує значення змінної HOME для виконання команди.
IFS – ця змінна визначає, які символи є внутрішніми символами, що розмежують поля. Інтерпретатор shell зазначає, що змінна має значення – розподільник, знак табуляції або символ нового рядка. Усі інші символи встановлюються перевизначенням змінної.
MAIL – ця змінна має повне ім’я файла (з шляхами), куди надходить пошта. Коли змінна встановлена, то shell перевіряє було додано чи ні до вказаного файла. Якщо було – формує повідомлення про надходження нової пошти. Змінна MAIL встановлюється у файлі користувача .profile
MAILCHECK – ця змінна задає з якою частотою (у секундах) перевіряється надходження пошти користувачу. Звичайно система встановлює інтервал 600 секунд.
MAILPATH – ця змінна має список імен файлів, що поділені «:». Коли у перелічені файли надходить пошта - shell інформує користувача про надходження.
SHELL – ця змінна вказує, який інтерпретатор потрібно активізувати користувачу при реєстрації останнього у системи.
PATH – ця змінна вказує шляхи, за якими виконується пошук команд системи. Її значення є переліком повних імен каталогів, поділених символом «:». Якщо першим символом є «:», то це говорить проте, що пошук команд слід починати з поточного каталога. Наведемо кілька прикладів використання змінної у файлі .profile:
PATH=/bin:/usr/bin або PATH=$HOME/bin:/bin:/usr/bin або
PATH=:/bin:/usr/bin
PS1 – ця змінна вказує, яку послідовність символів буде використано як первинне запрошення системи.
PS2 – ця змінна вказує, яку послідовність символів буде використано як другорядне запрошення системи.
Користувач має можливість самостійно встановлювати значення перелічених змінних у файлі .profile, або під час виконання завдання. Але слід пам’ятати, що у цьому випадку потрібно використовувати команду export, щоб передати нове значення змінної(их) до усіх процесів, що будуть породжені поточним процесом. Наведемо приклад використання команди export:
export HOME IFS MAIL PATH PS1 PS2