Назовите оболочку и реализации утилит: Bash, POSIX sh и BusyBox различаются.
Зачем
Зачем это нужно
Отделите просмотр выбранных путей от изменения файлов.
Заложите пустую выборку, пробелы в именах и неуспешное архивирование.
Вопросы
Частые вопросы
Как задать безопасный учебный сценарий?
«В каталоге logs есть old log.txt возрастом 40 дней, свежий today.log и подкаталог. Подготовь Bash-скрипт для архива только обычных старых файлов; сначала выведи выборку, исходники не удаляй». Добавьте правило обхода вложенных каталогов. По ответу должно быть понятно, попадёт ли подкаталог в поиск и как передаются имена с пробелами.
Почему echo перед командой не гарантирует безопасность?
Оболочка выполняет подстановки до запуска echo, поэтому некоторые действия могут произойти уже при формировании аргументов. Просите отдельный режим просмотра, который только перечисляет пути и не содержит изменяющих подстановок. Для проверки используйте временный каталог с известными файлами. Удаление и перезапись должны быть отдельным явным шагом после проверки выбранного набора данных.
Какие ошибки обычно прячутся в коротком скрипте?
Часто это некавыченная переменная, разбиение списка файлов по пробелам и продолжение после неудачной команды. Попросите объяснить, что случится при пустом пути, недоступном каталоге и ошибке записи архива. Одного общего режима остановки недостаточно для понимания всех веток: обработка конкретного сбоя должна сохранять исходные файлы и возвращать различимый код завершения процесса.
Как проверить переносимость команды?
Сверьте флаги с установленными утилитами и назовите целевую систему. Команда для GNU find не обязана работать так же на macOS или в минимальном контейнере. Запустите тесты на пустом каталоге, имени с переносом строки и отсутствующем праве чтения. Если нужна переносимость POSIX, попросите её отдельно и перечислите допустимые внешние программы.
Рядом
Соседние страницы каталога
Дальше — весь каталог задач: поиск по названию, темы и фильтры.