- •«Системне програмування и операційні системи»
- •Робота в операційній системі Linux. Програмування в середовищі shell.
- •6. Програмні структури
- •1) Теоретична частина.
- •5. Екранування.
- •6. Програмні структури
- •Умовний оператор ("if").
- •Оператор вибору ("case").
- •Оператор циклу із перерахуванням ("for").
- •Оператор циклу з істиною умовою ("while").
- •Оператор циклу з хибною умовою ("until").
- •Пустий оператор.
- •Практична частина
- •1. Завдання:
- •7. Код програми
- •Операційна система Windows. Системне програмування в masm.
- •2) Практична частина
- •2. Опис алгоритму:
- •3. Код програми
- •Операційна система Windows. Системне програмування в masm32 з використанням функцій api.
- •2) Практична частина
- •1.Завдання
- •2.Опис алгоритму:
- •3. Код програми
5. Екранування.
Як засоби екранування використовуються подвійні лапки (""), одинарні лапки (' ') та бек-слеш (\).
Можна в одному рядку записувати декілька присвоювань.
x=22 y=33 z=$x
A="$x" B='$x' C=\$x
D="$x + $y + $z" E='$x + $y + $z' F=$x\ +\ $y\ +\ $z
Тоді
echo A = $A B = $B C = $C
echo D = $D E = $E F = $F
eval echo evaluated A = $A
eval echo evaluated B = $B
eval echo evaluated C = $C
виведуть на екран
A = 22 B = $x C = $x
D = 22 + 33 + 22 E = $x + $y + $z F = 22 + 33 + 22
evaluated A = 22
evaluated B = 22
evaluated C = 22
"eval" - команда, що виконує означення змінних в рядку, що є аргументом.
Бек-слеш не тільки екранує наступний за ним символ, що дозволяє використовувати спеціальні символи просто як символи, що представляють самих себе, він може екранувати сам себе. Цей символ також може створювати ефект продовження рядка. Ефект продовження командного рядка забезпечує також символ конвеєра - "|".
6. Програмні структури
Як і в будь-якій мові програмування у тексті мовою shell можуть бути коментарі. Для цього використовується символ "#". Усе, що знаходиться в рядку лівіше від даного символу, сприймається інтерпретатором як коментар.
Як і в будь-якій процедурній мові програмування, в мові shell є оператори. Ряд операторів дозволяє керувати послідовністю виконання команд. У таких операторах часто необхідна перевірка умови, яка визначає напрямок продовження обчислень.
Умовний оператор ("if").
У загальному випадку оператор "if" має структуру:
if умова
then список
[elif умова
then список]
[else список]
fi
Оператор вибору ("case").
Оператор вибору "case" має структуру:
case рядок in
шаблон) список команд;;
шаблон) список команд;;
...
esac
"Рядок" (це може бути і один символ), що порівнюється із шаблоном. Потім "список команд" вибраного рядка.
Приклад:
echo -n " А какую оценку получил на экзамене?: "
read z
case $z in
5) echo Молодец ! ;;
4) echo Все равно молодец ! ;;
3) echo Все равно ! ;;
2) echo Все ! ;;
*) echo ! ;;
esac
Оператор циклу із перерахуванням ("for").
Оператор циклу "for" має структуру:
for ім'я [in список значень]
do
список команд
done
де "for" - це службове слово, що визначає тип циклу, "do" та "done" - це службові слова, що виділяють тіло циклу. Фрагмент "in список значень" може бути відсутнім.
Оператор циклу з істиною умовою ("while").
Оператор циклу "'while' має структуру:
while умова
do
список команд
done
де "while" - службове слово, що визначає тип циклу з істиною умовою. Список команд у тілі циклу повторюється до тих пір, доки зберігається істинність умови (доки умови не дорівнює 0) або цикл буде перерваний командами "break", "continue" або "exit".