Вступить в клуб →
средняявопросLinux и Bash

Незакавыченная переменная в rm -rf внутри скрипта очистки

Скрипт очистки артефактов запускается на раннере:

#!/bin/bash
BUILD_DIR="$1"
rm -rf $BUILD_DIR/*
echo "каталог очищен"

В одном из джобов скрипт вызвали без аргумента: ./cleanup.sh. Скрипт выполняется от root.

Что именно сделает третья строка?

  • Ничего: подстановка даст пустую строку, и `rm` завершится с ошибкой «missing operand»
  • Развернётся в `rm -rf /*` и начнёт удалять содержимое корня файловой системы
  • Bash подставит текущий каталог, и будет очищен рабочий каталог джоба
  • Скрипт прервётся, потому что обращение к незаданному позиционному параметру — фатальная ошибка bash

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела