Перейти к основному содержанию
EDU-MMCS
Вы используете гостевой доступ (Вход)

2.1-4. Операционные системы

  1. В начало
  2. Курсы
  3. Весенний семестр
  4. Прикладная математика и информатика
  5. PM-OS-2016
  6. Модуль 1: Лабораторная 2
  7. Задание 2: продвинутое программирование в shell

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

Требуемые условия завершения
Открыто с: суббота, 20 февраля 2016, 00:00
Срок сдачи: среда, 16 марта 2016, 17:00

Задания

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

◄ SMP, многоядерные процессоры и HyperThreading
Advanced Bash-Scripting Guide by Mendel Cooper ►
Пропустить Навигация
Навигация
  • В начало

    • Страницы сайта

      • Мои курсы

      • Теги

    • Мои курсы

    • Курсы

      • Весенний семестр

        • Прикладная математика и информатика

          • УМФ Т-2025

          • ИНС

          • МО ПМИ

          • ДВ 1.3 Ruby on Rails

          • Летняя практика 2к ТУ

          • ЦИТ

          • Летняя практика ИО

          • М С С

          • Advanced problems - 21

          • ЯП-2024/25 (2)

          • Дистанционная летняя практика 2 курс

          • PM-OS-2016

            • Общее

            • Модуль 1: Лабораторная 1

            • Введение в операционные системы

            • Модуль 1: Лабораторная 2

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

              • ГиперссылкаAdvanced Bash-Scripting Guide by Mendel Cooper

              • ГиперссылкаБлум Р., Бреснахэн К. Командная строка Linux и сце...

              • ЗаданиеКонтрольная работа 1 (группа 1)

              • ЗаданиеКонтрольная работа 1 (группа 2)

              • ЗаданиеКонтрольная работа 1 (группа 4)

              • ЗаданиеКонтрольная работа 1 (группа 3)

            • Процессы и многозадачность

            • Модуль 2: Лабораторная 1

            • Многозадачность: планирование

            • IPC: Межпроцесное взаимодействие

            • Модуль 2: Лабораторная 2: Каналы и именованные каналы

            • Модуль 2: Лабораторная 3: Разделяемая память

            • Модуль 2: Лабораторная 4: Потоки

            • Доборы баллов

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

        • ОИИ

      • Осенний семестр

        • Прикладная математика и информатика

        • Фундаментальная информатика и ИТ

        • Математика, механика

        • Педагогическое образование

        • Магистратура

          • Разработка мобильных приложений и компьютерных игр

        • Аспирантура

        • Вечернее отделение

        • Другое

      • Воскресная компьютерная школа

        • Пользователь компьютера плюс

        • Пользователь прикладных программ

        • Программирование I ступень

        • Программирование II ступень

        • Программирование III ступень

        • Архив

      • Воскресная математическая школа

        • Открытое тестирование РНОМЦ и мехмата ЮФУ - 2025

        • Олимпиадная математическая школа

        • Повышение квалификации

        • Доступная математика

        • Лаборатория математического онлайн-образования мех...

        • Осенняя универсиада

        • Научно-практическая конференция

        • ВМШ

          • ВМШ - 24

        • Летняя олимпиадная математическая школа РНОМЦ и ме...

      • Государственная итоговая аттестация

      • Дополнительное образование

      • Олимпиады

      • Видеолекции

      • Разное

      • Архив курсов

      • Заочная школа мехмата ЮФУ

Служба поддержки сайта
Вы используете гостевой доступ (Вход)
PM-OS-2016
Сводка хранения данных
Скачать мобильное приложение Яндекс.Метрика