- •1. Екскурс до історичного розвитку os Unix
- •1.1 Виникнення os Unix
- •2. Unix на платформі Intel
- •3.1 Спільні принципи інсталяції
- •4. Введення в архітектуру ядра os Linux.
- •5. Основні поняття
- •5.1 Початок роботи
- •5.2 Вхід до системи
- •5.3 Ввод команд
- •Janis tty03 Jan 17 08:12
- •5.4 Ввод командного рядка
- •5.5 Команди редагуванняя командного рядка
- •5.6 Керування процесом
- •5.7 Отримання списку процесів, що виконуються ps
- •5.8 Знищення процесу Del, Kill
- •5.9 Призупинка вводу на екран Ctrl-s
- •5.10 Використання калькуляторів
- •6. Початкове завантаження os Unix
- •9. Файлова система Unix
- •9.1 Будова файлової системи Unix
- •9.2 Робота з файлами
- •9.3 Генерація імен файлів за допомогою метасимволів
- •10. Робота з каталогами
- •10.1 Права доступа до файлів та каталогів Для визначення прав доступу, зв’язаних з конкретним файлом або каталогом використовується команда ls –l:
- •Інші дев’ять символів додають три набори по три символи: перший – для індивідуального користувача;
- •10.2 Побудова командного рядка
- •10.3 Переадресація вводу та виводу
- •11. Конвeйори
- •12. Використання друкуючих пристроїв
- •13. Зв’язок з системою unix
- •14. Команда calendar
- •15. Спілкування з користувачем ззовні системи Unix
- •16. Процесори інтерпритаторa b-shell
- •16.1 Зарезервовані змінні
- •17. Керуючі структури у мові b-shell
- •Until false
- •17.1 Завдання директив інтерпретатору shell. Групування
- •17.2 Умовне виконання
- •17.3 Змінні інтерпретатора b-shell
- •2.1 Процедури інтерпритатора shell
- •17.3.2 Вкладені цикли
- •17.4 Керування перериваннями
- •17.5 Преревірка файлів, числових значень та ланцюжків символів
- •Wed Feb 15 21:49:20 1984
- •(Wed Feb 15 21:49:20 1984)
- •17.6 Зарезервовані змінні
Wed Feb 15 21:49:20 1984
$_
(Wed Feb 15 21:49:20 1984)
$1 $2 $3 $4 $5
$ echo $4
21:49:20
$_
$ echo ‘DATE : $1 $2 $3 $5 TIME : $4’
DATE : Wed Feb 15 1984 TIME : 21:49:20
$_
Щоб використати позиційний параметр з номером більшим за $9 використовують коанду shift, яка зсовує аргументи на одну позицію вліво
$4 > $3, $3 > $2, $2 > $1, а $1 зникає.
$ echo $1 $2 $3 $4 $5 $6 $7 $8 $9
arg1 arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9
$ shift
$ echo $1 $2 $3 $4 $5 $6 $7 $8 $9
arg2 arg3 arg4 arg5 arg6 arg7 arg8 arg9
За допомогою * можна генерувати номер будь-якого позиційного параметра.
$ echo $*
arg2…arg11
$ cat main
if subpro
then echo ‘Exit status is zero’
else echo ‘Exit status is non-zero’
fi
$ cat subpro
HERE = ‘pwd’
Status = 0
:::
exit $status
$_
Subpro передає змінній status значення 0, яке приводить до виводу повідомлення Exit status is zero
Цикл for організує умовний цикл
For variable in list
do [ виконання команди від do до done]
done
Команда for використовує слово з list як нове значення змінної variable, а потім перевіряє це нове значення. Якщо variable має припустиме значення, то команди між do та done виконуються, якщо список закінчується, виконується наступна за done команда.
$ cat example
list =’word1 word2 word3 word4’
for VAL in $list
do echo $VAL
done
echo ‘END OF LIST’
LIST
$_
$ cat rebounce
one two three
for VAL
do echo $VAL
done
$_
VAL приймає значення аргументів процедури, які передаються інтерпритатору shell.
Shell має комбінацію операторів else та if, що дозволяє писати більш короткі програми.
$ cat checkname
if expr “$1” : “Mark” > /dev/null
then echo Matching word is Mark
else if expr “$1” : “John” > /dev/null
then echo Matching word is John
else if expr “$1” : “Dennis” > /dev/null
then echo Matching word is Dennis
else echo *** No match ***
fi
fi
fi
$_
$ cat multiloop $ multiloop
while true LOOP1
do echo LOOP1 LOOP2
until false ц.1 LOOP3
do echo LOOP2 LOOP1
while true ц.2 LOOP2
do echo LOOP3 LOOP3
break цю3 LOOP1
done LOOP2
done LOOP3
done ………….
якщо поставити break 3, то це призведе до виходу за межі всіх трьох циклів та завершення програми.
$ cat multiloop $multiloop
while true LOOP1
do echo LOOP1 LOOP2
until false ц.1 LOOP3
do echo LOOP2 $_
while true ц.2
do echo LOOP3
break ц.3
done
done
done
За допомогою команди continue можна продовжити виконання програми з оператором for або while, який знаходиться ближче до команди. Якщо у continue задати кількість рівнів, то програма почне виконання з вказаного рівня.
While true
Do command list3
Until false
Do command list2
While true
Do command list1
Continue $level
Done
done
done
Якщо level має значення 2, то виконання почнеться з until, якщо 3 – то з циклу while, якщо level не встановлено (або 1), то програма буде виконуватись у самому внутрішньому циклі while. Break та continue виводять програму з поточного циклу.
За допомогою exit виконує зупинку всієї процедури. При цьому у програму, що її викликає передається код 0 (false).
Якщо намагатися дописати додаткові символи у кінець імені змінної
$ far=tele
$ TV=farvision
$ echo $TV
$_
У цьому випадку shell присвоює змінній TV значення порожнього рядка, тому що не зможе знайти змінну з ім’ям farvision. Для цього треба виконати:
$ TV={$far} vision
$ echo $TV
television
$_