(c) Larry Ewing, Simon Budig, Garrett LeSage
с 1994 г.

Кафедра Информатики и Математического Обеспечения

ПетрГУ | ИМиИТ | О кафедре | Мобильные платформы | Лаборатория ИТС | Семинары НФИ/AMICT
Сотрудники | Выпускники | Учебный процесс | Табель-календарь | Курсовые и выпускные работы
Вычислительные ресурсы | Публикации | Архив новостей | Контактная информация

Цель работы

Изучить основные конструкции командного языка, переменные и подстановки shell

Описание работы

Используя справочные материалы по указанным командам, средства перенаправления ввода-вывода, группировки команд и условного выполнения, реализуйте сценарии shell, позволяющие:

 #   Задание   Команды 
1

Сценарий trimhtml.sh В каталоге, заданном первым позиционным параметром переименовать все файлы вида имя.расширение?текст, представляющие собой просто HTML-документы, подставив в кафестве имени имя.html. Расширение задается вторым позиционным параметром.

Сценарий должен контролировать возможность появления файлов с одинаковыми именами и автоматически дописывать к имени порядковый номер.

Например, в результате обработки файлов

  • index.php?search=linux
  • index.php?question=howareyou
  • index.php?animal=dare
должны быть получены файлы
  • index.html
  • index1.html
  • index2.html

решите самостоятельно
2

Сценарй guessgame.sh Напишите игровую программу, "загадывающую" случайное неотрицательное целое число, не превосходящее 100 и предлагающее пользователю угадать его с шести попыток. При неудачной попытке сценарий должен сообщать: загаданное число больше / меньше введенного.

В сценарии должна быть определена функция getrand, позволяющая получить случайное целое в интервале [0, N - 1], где N — параметр функции.

решите самостоятельно

Критерии оценки работы

Каждое из заданий может быть оценено от 0 до 5 баллов. Таким образом, всего за работу можно получить до 10 баллов.

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

 #   Описание   Штраф 
1 Отсутствие заголовочного комментария, несоответствие заголовочного комментария общепринятым соглашениям 0 - 2
2 Отсутствие пояснительных комментариев, комментирование самоочевидных конструкций (дублирование кода, а не пояснение смысла) 0 - 2
3 Присутствует дополнительный вывод, не предусмотренный требованиями (например, диагностические сообщения shell и использованных команд) 0 - 1
4 Неверно устанавливается статус завершения сценария 0 - 1
5 Неструктурированный код, непоследовательность в стиле 0 - 2
6 Возможны (достаточно маловероятные) условия, при которых сценарий будет работать некорректно, не предусмотренные требованиями. 0 - 2

Итоговая оценка определяется суммой баллов. Работа, оцененная менее чем на 0 баллов не засчитывается.