Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
lab1 / Лекция 1. Язык командного интерпретатора Bash.pdf
Скачиваний:
1
Добавлен:
30.05.2025
Размер:
843.71 Кб
Скачать

РАЗРАБОТКА 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

Соседние файлы в папке lab1