>_ IzzyLab

Практическое задание

Проверка существования файла

легко

Напиши /usr/local/bin/checkfile: принимает путь аргументом, печатает exists и выходит с кодом 0, если файл есть, иначе печатает missing и выходит с кодом 1.

Что потренируешь:
  • ветвление if
  • тест [ ]
  • флаг -f
  • код выхода exit
  • позиционные аргументы

Разбор темы

Скрипт принимает данные через позиционный аргумент $1 и ведёт себя по-разному в зависимости от условия — это классическое ветвление if ... then ... else ... fi. Само условие вычисляет команда-тест [ ... ], у которой есть набор файловых предикатов (проверка существования, типа, прав); аргумент внутри теста берут в кавычках, чтобы пробелы и пустое значение не ломали разбор. Ключевая идея — программа сообщает об успехе или неудаче числовым кодом выхода (0 = успех, не-0 = ошибка), и этот код задаётся явно командой exit.

Что проверяется

  1. checkfile исполняемый
  2. для существующего файла печатается exists
  3. для отсутствующего файла код 1

Как это выглядит