В Bash без явной проверки ошибка копирования обычно не мешает следующему rm; в Python необработанное исключение копирования прервёт поток до удаления. Итог зависит от конкретной конструкции скрипта.
Если Bash- и Python-скрипт копируют файл, но прав на чтение нет, как они поведут себя при последующей команде удаления исходника?
В Bash без явной проверки ошибка копирования обычно не мешает следующему rm; в Python необработанное исключение копирования прервёт поток до удаления. Итог зависит от конкретной конструкции скрипта.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
В Bash без явной проверки ошибка копирования обычно не мешает следующему rm; в Python необработанное исключение копирования прервёт поток до удаления. Итог зависит от конкретной конструкции скрипта.
В shell безопаснее связать удаление с успешным копированием через && и дополнительно проверить требуемую полноту/долговечность копии. set -e имеет исключения и не заменяет явную обработку. В Python удаление в finally или после подавленного исключения тоже может выполниться несмотря на сбой. Отсутствие права читать файл не означает невозможность удалить его: удаление определяется в основном правами каталога и другими ограничениями ОС. Для важных данных не выполняют необратимое удаление по одному предположению об успешном переносе.