Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LABORATORNAYa_RABOTA__5.rtf
Скачиваний:
2
Добавлен:
01.07.2025
Размер:
270.7 Кб
Скачать

Задание на лабораторную работу

1. Используя команды getopts grep написать командный файл, который анализирует командную строку с ключами:

  • -iinputfile – прочитать данные из указанного файла

  • -ooutputfile – вывести данные в указанный файл

  • -pшаблон – указать шаблон для поиска

  • -С – различать большие и малые буквы

  • -n – выдавать номера строк,

а затем ищет в указанном файле нужные строки, определяемые ключом -p.

2. Написать на языке Си программу, которая вводит строку символов и определяет, чем является эта строка – целым числом, вещественным, датой или текстовой строкой. Затем программа завершается с помощью функции exit(n), передавая информацию в о коде завершения в оболочку. Командный файл должен вызывать эту программу и, проанализировав с помощью команды $? код возврата, выдавать сообщение о том какое число было введено.

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

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

5. Написать командный файл, реализующий упрощенный механизм семафоров. Командный файл должен в течение некоторого времени t1 дожидаться освобождения ресурса, выдавая об этом сообщение, а дождавшись его освобождения использовать его в течение некоторого времени t2<>t1, также выдавая информацию о том, что ресурс используется соответствующим командным файлом (процессом). Запустить командный файл в одном виртуальном терминале в фоновом режиме, перенаправив его вывод в другой (>/dev/tty#, где # – номер терминала куда перенаправляется вывод), в котором также запущен этот файл, но не фоновом, а в привилегированном режиме. Доработать программу так, чтобы имелась возможность взаимодействия трех и более процессов.

6. Реализовать команду man с помощью командного файла.

Контрольные вопросы

  1. Объясните понятие командных оболочек

  2. Что такое POSIX?

  3. Как определяются переменные и массивы в языке программирования bash?

  4. Каково назначение операторов let и read?

  5. Какие арифметические операции можно применять в языке программирования bash?

  6. Что означает операция (())?

  7. Какие стандартные имена переменных вы знаете?

  8. Что такое метасимволы?

  9. Как экранировать метасимволы?

  10. Как создать и запускать командные файлы?

  11. Как определяются функции в языке программирования Bash?

  12. Каким образом Вы можете выяснить является файл каталогом или обычным файлом?

  13. Каково назначение команд set, typset и unser?

  14. Как передаются параметры в командные файлы?

  15. Назовите специальные переменные языка bash и их назначение.

  16. Каково предназначение команды getopts?

  17. Какое отношение метасимволы имеют к генерации имен файлов?

  18. Какие операторы управления действиями Вы знаете?

  19. Какие операторы используются для прерывания цикла?

  20. Для чего нужны команды false и true?

  21. Что означает строка if test –f manSs/Si.Ss встреченная в командном файле?

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]