
- •СОДЕРЖАНИЕ
- •НАЧАЛЬНАЯ ИНФОРМАЦИЯ
- •ОСНОВНЫЕ СВОЙСТВА bash (major features)
- •ВЫВОД НА КОНСОЛЬ: команда echo
- •КОМАНДА echo (примеры использования)
- •СПЕЦИАЛЬНЫЕ СИМВОЛЫ И ЦИТИРОВАНИЕ
- •ВЫВОД НА КОНСОЛЬ: команда printf
- •ЧТЕНИЕ С КОНСОЛИ: команда read
- •ОБЪЯВЛЕНИЕ ПЕРЕМЕННЫХ
- •РАБОТА С ПЕРЕМЕННЫМИ
- •ОСНОВНЫЕ ОПЕРАЦИИ
- •РАСКРЫТИЕ СКОБОК
- •КОНСТРУКЦИИ УПРАВЛЕНИЯ ПОТОКОМ
- •УСЛОВНЫЙ ОПЕРАТОР IF
- •ПРОВЕРКА УСЛОВИЙ
- •УСЛОВНЫЙ ОПЕРАТОР IF ПРИ РАБОТЕ С ФАЙЛАМИ
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •УСЛОВНЫЙ ОПЕРАТОР IF (примеры использования)
- •ОПЕРАТОР МНОЖЕСТВЕННОГО ВЫБОРА CASE
- •ЦИКЛ FOR
- •КОМАНДА seq
- •ЦИКЛЫ WHILE/UNTIL и SELECT
- •МАССИВЫ в bash
- •РАБОТА С МАССИВАМИ
- •РАЗРАБОТКА bash-СКРИПТА (СЦЕНАРИЯ)
- •ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ

РАЗРАБОТКА bash-СКРИПТА (СЦЕНАРИЯ)
1) Созданиефайла “снуля”:
$ touch script.sh
2) Наполнениескрипта командами:
echo ʺHello, world!ʺ
3) Запускскрипта:
а) $ bash script.sh – указаниекомандногоинтерпретатора вявномвиде (наличие правнаисполнениенеобязательно) б) $ ./script.sh – запуск “поумолчанию” (пользовательдолжениметь праванаисполнение)
Рекомендации:
-перваястрокаскрипта всегдасодержитдирективузапускаоболочки (sha-bang): #!/bin/bash
-дляскриптаустановленыправанаисполнение длясоответствующих пользователей
|
|
Десятичное |
Символьное |
Двоичное |
Установкаправдоступадляфайла – команда chmod: |
|
|
|
|
|
Начальные правадоступадляфайла script.sh: -rw-r--r-- |
|
|
0 |
- - - |
0 0 0 |
|
|
|
|
|
|
Добавитьправанаисполнение: |
|
|
1 |
- - x |
0 0 1 |
|
|
|
|
|
|
$ chmod +x script.sh => -rwxr-xr-x |
|
|
2 |
- w - |
0 1 0 |
|
|
|
Убратьправанаисполнение: |
|||
|
|
3 |
- w x |
0 1 1 |
|
|
|
$ chmod -x script.sh => -rw-r--r-- |
|||
|
|
4 |
r - - |
1 0 0 |
|
|
|
Добавитьправанаисполнения толькодлятекущегопользователя: |
|||
|
|
5 |
r – x |
1 0 1 |
$ chmod u+x script.sh => -rwxr--r-- |
26 |
|
6 |
r w - |
1 1 0 |
Установить правадоступанаисполнение длятекущегопользователяигруппы: |
|
7 |
r w x |
1 1 1 |
$ chmod 754 script.sh => -rwxr-xr-- |

Лабораторная работа №1

ЗАДАНИЕ НА ЛАБОРАТОРНУЮ РАБОТУ
1.Проработка примеров из лекции №1. Все команды, примеры, фрагменты кода записываются в файл lab1_ex1_<пользователь>.sh
Ксдачепредъявляетсяфайлсдемонстрациейработыотдельныхфрагментов.
2.Разработать bash-скриптсименем lab1_ex2_<пользователь>.sh, реализующийследующийфункционал:
1) При запускесоздает менюизследующихобязательныхпунктов (можнодобавлятьсвои): “View”, “Count”, “Find”, “Change Access”, “Exit”
Далеевзависимости отвыборапользователявыполняетдействия (минимальный наборфункций):
“View” – выводит на экран содержимое текущего каталога, причем директории помечаются зеленым цветом, файлы с расширением .sh фиолетовым, авсеостальные – желтым
“Count” – выводит на экран информацию о составе текущего каталога: отдельно количество файлов и отдельно количество директорий
“Find” – запрашивает у пользователя подстроку для поиска в текущем каталоге, если указанная подстрока присутствует в именифайлаиликаталоганаэкранвыводитсясоответствующее сообщение, необходимонайтивсевхождения
“Change Access” – запрашивает у пользователя необходимые права доступа в числовом формате (755, 700, и т.д.), а также имя файла или каталога, для которого необходимо изменить права доступа. После ввода данных осуществляет изменение правдоступадляуказанного файлаиликаталога. Вслучаенеуспешного выполненияоперации (по любойпричине) выводит соответствующее сообщение
“Exit” – выходизскрипта
Все сообщения об ошибках скрипт должен выводить красным цветом. Для тестирования скрипта и демонстрации его
работырекомендуетсясоздатьотдельныйкаталогснаборомфайловидиректорий.
28