- •7.080403 – Програмне забезпечення автоматизованих систем
- •1 Структура файлової системи, базовий та розгорнутий перелік команд ос unix
- •1.2 Підготовка до роботи
- •1.3 Методичні вказівки до виконання роботи
- •1.3.1 Процедура віддаленої реєстрації користувача на платформі unix
- •1.3.2 Файлова система
- •1.3.3 Середовище виконання процесів
- •1.3.4 Базові команди системи
- •1.5 Завдання
- •1.7 Контрольні запитання
- •2 Редактор VI
- •1.4 Порядок виконання роботи
- •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 Контрольні запитання
- •Перелік рекомендованої літератури
If список команд
then
список команд
else
список команд
fi
Якщо застосувати умову elif, сумісно з командою if, можна отримати перевірку ще однієї умови. Тоді оператор набуває такого вигляду:
if test -f "$1"
then
pr $1
elif test -d "$1"
then
cd $1; pr *
else
echo $1 не є ні файлом, ні каталогом
fi
Слід зауважити, що більш складні конструкції в операторі if застосовувати небажано. Краще застосовувати вкладені оператори if або оператор case.
Кодом завершення команди if є код завершення останньої виконаної команди після умов then або else. Коли команди не виконуються, то код завершення дорівнює 0.
4.3.6.2 Використання оператора case
Оператор case надає можливість перевіряти різні умови. Форматом команди case є:
case рядок in
шаблон ) cписок команд ;;
....
шаблон ) cписок команд ;;
esac
shell шукає вказаний підрядок, по черзі, у кожному шаблоні, використовуючи умови, що використовуються до генерації імен файлів. Коли встановлено відповідність шаблону та підрядка, виконується список команд цього шаблону. Два символи (;;) означають кінець оператора case і потрібні після кожного шаблону крім останнього.
Код завершения оператора case дорівнює коду завершення останньої виконаної команди. Якщо ніякі команди не виконувалися, то код завершення дорівнює 0.
4.3.6.3 Умовні цикли while та until
Загальна форма команди while має вигляд:
while список команд
do
список команд
done
Спочатку виконуються команди з першого списку. Коли код завершення останньої команди першого списку дорівнюватиме 0, тільки потім виконуватимуться команди з другого. Ця послідовність повторюватиметься до тих пір, доки код завершення останньої команди першого списку дорівнюватиме 0. Якщо потрібно, щоб цикл виконувався до тих пір, поки код завершення останньої команди першого списку не дорівнював 0, необхідно використати оператор until.
4.3.6.4 Організація циклу для списку: for
Коли виникає потреба виконати деякий набір операцій для кожного файла, з будь-якого списку, або виконати одну команду для кожного з декількох аргументів, то застосовують команду for. Формат команди for такий:
for змінна in список значень
do
список команд
done
Значення у списку поділяються подільниками. Команди зі списку виконуються один раз для кожного значення змінної зі списку значень. Змінній, по черзі, присвоюється кожне значення зі списку. Наприклад, наступний цикл for виконує порівняння текстів xec.c, cmd.c та word.c у поточному каталозі з файлами, з такими іменами, в іншому - /usr/src/cmd/sh:
for CFILE in xec cmd word
do diff $CFILE.c /usr/src/cmd/sh/$CFILE.c
done
Зверніть увагу на те, що у CFILE після слова for не супроводжується появою символу "$", оскільки використовується ім’я змінної, але не її значенням. Слово "in", яке є частиною команди for, можна не вказувати. Оскільки у цьому випадку буде використаний набір позиційних змінних замість списку значень. Як приклад розглянемо фрагмент:
cat > echo2
for word
do
echo $word$word
done
C-l_D
chmod +x echo2
echo2 ma pa
Після виконання отримаємо:
mama
papa
