Задание 2: продвинутое программирование в shell

Задания

1. Введите целое число и проверьте, является ли оно чётным или нечётным. Выведите соотвествующее сообщение.

2. Покажите пользователю меню

=========================================================\
 (A) Add
 (B) Subtract
 (C) Multiply
 (D) Divide
 (E) Modulus
 (F) Exponentiation
 (G) Exit
=========================================================/

Запросите выбор пользователя. После получения выбора A-F программа запрашивает два числа и выполняет выбранную операцию над ними.  Программа должна запрашивать выбор пользователя или числа пока не будет введен g или G. Программа должна понимать ответ в любом регистре (a или A, b или B, ...).

3. Получите слово и имя файла как аргументы скрипта и выведите 'File <файл> contains <слово>' или 'File <фвйл> does not contains <слово>', в зависимости от того, содержит ли файл слово на самом деле.

Вы можете предположить, что слово не содержит специальных символов, а только буквы и цифры. Выведите сообщение об ошибке, если количество аргументов больше или меньше требуемого для работы скрипта.

4. Напишите скрипт, принимающий любое количество имен файлов или каталогов как аргументы командной строки, и создающий tar-файл, содержащий все эти файлы и каталоги. Именем tar-файла должно быть дата и время его создания в следующем формате YYYY-MM-dd-HH-mm-ss.tar.

Вы должны поддерживать более девяти аргументов в командной строке.

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

6. Переделать скрипт из задачи 5, так, чтобы сообщения об ошибках дополнительно сохранялись в журналах системы.

7. Написать скрипт, который проверяет, является ли введенное слово палиндромом.

8. Написать скрипт pskill, убивающий процесс, найденный по имени выполнимого файла процесса.

9. Создать сценарий, выводящий количество итераций цикла, выполненных до нжатия CTRL+C