РЕФЕРАТ
натему:
”Складання сценаріїв в операційній системі LINUX. ”
Зміст теми: Знайомство із текстовою операційною оболонкою bash, вивчення мови програмування оболонки bash та практичне складання найпростіших сценаріїв за допомогою редактора vi (vim).
Теоретичні відомості
1 Загальні відомості про текстові оболонки в Linux
Досить часто в процесі роботи з комп’ютером потрібно часто повторювати одні і ті ж команди Linux. Операційна система дозволяє записати необхідну послідовність команд в спеціальний файл, який називається сценарієм оболонки. Далі цeй сценарій можна виконувати подібно виконанню звичайної команди Linux, набравши ім’я файла. Такий принцип організації файлів існує в MS DOS – це так звані командні файли.
Створювати сценарії надають спеціальні програми – оболонки, які виступають посередником між користувачем та операційною системою. Існують як текстові, так і графічні оболонки. Найбільш відомі в Linux текстові оболонки – bash, csh, tcsh, ksh, pdksh.
Наприклад, необхідно виконати таку послідовність команд:
mkdir dir1
cp file1. txt /home/user/dir1
cd dir1
Для того, щоб оформити вказані команди у вигляді сценарію, необхідно спочатку вказати назву оболонки, в рамках якої вони будуть виконані. Якщо у сценарії використовуються лише команди операційної системи, як у нашому випадку, вибір оболонки не є суттєвим. Тому виберемо найбільш поширену оболонку, яка практично завжди є в більшості дистрибутивів Linux – оболонку bash. Таким чином, першим рядком сценарію має бути такий запис:
#! /bin/bash
Цей рядок є по суті ознакою того, що даний файл відноситься до сценаріїв. А далі вже записуються команди, які мають бути виконані.
Після створення файла сценарію (наприклад, під іменем run) необхідно перевірити, чи надано право виконати цей сценарій даному користувачеві. Як правило, для того, щоб перетворити будь-який власний файл у виконуваний файл, рядовий користувач повинен надати собі таке право за допомогою команди chmod:
chmod u+x run
Далі сценарій можна запустити на виконання із командного рядка:
. /run
або
bash run
Для того, щоб зробити сценарій більш універсальним (в нашому випадку – щоб сценарій був придатний для різних імен каталогів та файлів), використовуються позиційні параметри. За допомогою позиційних параметрів операційна система може передавати оболонці конкретні параметри (імена файлів, каталогів, змінних і т.д.) під час виклику сценарію у командному рядку або з іншого сценарію. Такі позиційні параметри мають спеціальні імена. Перший параметр зберігається у змінній з іменем 1(один) і отримати його значення в сценарії можна за допомогою виразу $1. Другий параметр зберігається у змінній з іменем 2(два) і т.д. Кількість одночасно використовуваних позиційних параметрів обмежена – не більше 9. Однак дозволяється за допомогою оператора
shift n
пересувати кожний позиційний параметр на n позицій вліво і відкидати n попередніх значень справа.
В нашому прикладі сценарій з використанням двох позиційних параметрів матиме вигляд:
#! /bin/bash
mkdir%1
cp%2 /home/user/%1
cd%1
Запуск на виконання цього сценарію матиме вигляд:
. /run dir1 file1. txt
В оболонці можна також використовувати і власні команди оболонки. Суттєво збільшуються можливості сценаріїв при використанні спеціальних операторів, які утворюють мову програмування оболонки.
Розглянемо основні змінні та оператори мови програмування оболонки bash.
2 Змінні в сценаріях для bash
Мова програмування оболонки підтримує три основних типи змінних:
- змінні середовища;
- вбудовані змінні;
- змінні користувача.
Змінні середовища надаються системою, їх не потрібно визначати, але до них можна звертатись. Значення деяких із них, наприклад PATH, можна змінювати в програмі оболонки. Основні змінні середовища наведені в таблиці 3.1.
Вбудовані змінні також надаються системою, але їх не можна змінювати. До цих змінних відносяться, зокрема, такі:
$# - ряд позиційних параметрів, які передаються сценарію оболонки;
$0 - ім’я сценарію;
$* - рядок зі всіма параметрами, які передаються сценарію оболонки під час його виклику.
Таблиця 3.1. – Змінні середовища
| Змінна середовища | Значення |
| EDITOR | Редактор, який викликається за замовчуванням |
| HOME | Домашній каталог користувача |
| LOGNAME | Імя, під яким користувач зареєстру-вався в системі |
| | Шлях до поштової скриньки (файла e_mail) користувача |
| PATH | Список каталогів, що перегляда-ються системою при пошуку команди |
| PS1 | Початкове запрошення оболонки ($ - для рядового користувача, # - для суперкористувача) |
| SHELL | Місцезнаходження оболонки |
| TERM | Тип термінала користувача | <