Задания на лабораторную работу "Программирование на языке bash". Варианты 1-15

Страницы работы

1 страница (Word-файл)

Содержание работы

Задания по программированию на языке bash.

Создать скрипт (командный файл), решающий указанную в варианте задачу. Скрипт должен правильно обрабатывать вызов с неправильным количеством аргументов, а также выводить подсказку об использовании при указании опции --help (аналогично стандартным утилитам).

Вариант 1

Написать скрипт, выполняющий синхронизацию содержимого указанных в качестве аргументов каталогов: файл, отсутствующий (или более старый) в первом каталоге, копируется в него из второго. Вывести на стандартный вывод протокол выполненных действий.

Вариант 2

Удалить указанные в командной строке каталоги (возможно, с подкаталогами), не используя опцию -r (рекурсивно) команды rm, и вывести на стандартный вывод протокол выполненных действий.

Вариант 3

Создать скрипт, проверяющий (командой ping) доступность всех узлов подсети, указанной в качестве аргумента (например, 192.168.1. ) (маска — 255.255.255.0). Список адресов «отозвавшихся» узлов занести в файл.

Вариант 4

Скопировать все файлы в каталоге, указанном в командной строке, в другой каталог, указанный во втором аргументе (если он не существует, то создать его). Если имеются файлы с одинаковыми именами, то при копировании изменить имя, добавив к нему «.1», например, file.c скопировать в file.c.1.

Вывести на экран и записать в файл report протокол проведенных действий.

Вариант 5

Сравнить содержимое двух каталогов, указанных в командной строке (1-й и 2-й аргумент), и вывести отчет о файлах: отсутствующих в одном из каталогов, имеющихся в обоих каталогов (для таких вывести результат сравнения их по дате/времени последнего изменения и размере).

Вариант 6

Удалить файлы, список которых находится в текстовом файле, заданном в командной строке. Сформировать 2 списка: список реально удаленных файлов, и список тех, которые не удалены (указать: отсутствует или невозможно удалить). Подсчитать и вывести количество тех и других.

Вариант 7

Проверить наличие файлов, имена которых указаны в заданном файле, и их новизну по сравнению с файлом-списком. Сформировать отчет с указанием отсутствующих и обновлённых файлов.

Вариант 8

Скопировать файлы из текущего каталога в заданный. Заданный каталог — первый аргумент скрипта, следующие аргументы — имена файлов. Уже существующие файлы не изменять. Вывести на экран и в файл report отчет о проделанных действиях (файл скопирован, уже имеется, не существует).

Вариант 9

Создать файлы, записывая в них заданные в командной строке слова. Аргументы командной строки следующие:

Имя_файла1 Слово1 Имя_файла2 Слово2  ...  Имя_файлаN СловоN

Уже существующие файлы не изменять. Создать файл отчета report, содержащий сведения по каждому файлу (создан или уже существует) и общее количество созданных файлов.

Вариант 10

Скопировать файлы, заданные в командной строке, в каталог, имя которого вводится с клавиатуры после запуска скрипта. При копировании заменять уже существующие файлы с теми же именами. Сформировать файл отчета, содержащий список указанных файлов с комментарием для каждого: скопирован, заменен, отсутствует.

Вариант 11

Переименовать указанные в командной строке файлы в «1», «2», «3» и так далее по порядку их следования в списке аргументов (если заданный файл не существует — просто игнорировать его). Вывести на стандартный вывод список (с указанием старого и нового имени) и количество реально переименованных файлов.

Вариант 12

Проверить, какие из файлов, перечисленных в командной строке, имеются и в текущем каталоге, и в каталоге, заданном переменной окружения ARCDIR. Сформировать файл отчета report, в котором для каждого файла указать, где он имеется, и при наличии его в обоих каталогах — сравнение времени последнего изменения и размера.

Вариант 13

Перевести натуральные числа, заданные в командной строке, в запись римскими цифрами и вывести результат на стандартный вывод.

Вариант 14

Перевести заданные в командной строке числа, записанные римскими цифрами, в десятичную форму и вывести их на стандартный вывод.

Вариант 15

Проверить доступность указанных в командной строке узлов сети командой ping и записать результат в файл отчета, а также вывести на экран.

Похожие материалы

Информация о работе