Задание 1 (сценарии с параметрами)

  1. Написать сценарий, который принимает единственное имя файла как аргумент, и добавляет разрешения на выполнение для владельца, но только если это обычный файл. Сценарий должен проверять, что у него точно один аргумент, в противном случае должен вывести сообщение об использовании сценария.

  2. Написать сценарий, который выводит для каждого своего аргумента вывод команды ls -l, если аргумент является именем регулярного файла. Если сценарий запущен без аргументов, он должен вывести сообщение об использовании сценария.

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

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

  5. Написать сценарий, который принимает несколько путей к каталогам как аргументы. Далее из всех каталогов первый, который существует и действительно является каталогом, необходимо сделать текущим. В случае ошибки при смене каталога вывести об этом сообщение. Если ни один из путей не обозначает существующий каталог, также вывести об этом сообщение. Если сценарий запущен без аргументов, он должен вывести сообщение об использовании сценария.

  6. Написать сценарий, который принимает путь к файлу как аргумент, и проверяет его на существование. Если файл существует и является обычным файлом, необходимо вывести об этом сообщение. Если файл существует, но его тип отличается от обычного файла, вывести сообщение об ошибке. Иначе необходимо попытаться создать пустой файл по указанному пути. В случае ошибки при создании вывести об этом сообщение. Сценарий должен проверять, что у него точно один аргумент, в противном случае должен вывести сообщение об использовании сценария.

  7. Написать сценарий, который принимает путь к файлу и строку как аргументы, и проверяет файл на существование. Если файл существует и является обычным файлом, сценарий должен проверить, содержится ли в нём заданная строка-шаблон при помощи команды grep. Если строка содержится, вывести сообщение «Yes», иначе вывести «No». Если файл не существует или его тип отличается от обычного файла, вывести сообщение об ошибке. Если сценарий запущен не с двумя аргументами, он должен вывести сообщение об использовании сценария.

  8. Написать сценарий, который принимает несколько путей к каталогам как аргументы и должен проверить, что все они существуют и являются каталогами. Если это не так, необходимо вывести сообщение об ошибке. В противном случае необходимо попытаться удалить каждый из этих каталогов. При этом после удаления каждого каталога необходимо вывести сообщение об ошибке, если его удалить не получилось. Если сценарий запущен без аргументов, он должен вывести сообщение об использовании сценария.