find и rm -rf, почему он выдает ошибки? [дубликат]

Пожалуйста, проверьте этот вопрос/ответ для подобного обсуждения. И добавьте заголовок в свой сценарий:

#!/bin/sh
### BEGIN INIT INFO
# Provides:          
# Required-Start:    $remote_fs
# Required-Stop:     $remote_fs
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: Sample_GT02 daemon startup script
# Description:       Sample Server for GT02 class 
### END INIT INFO

0
17.02.2017, 22:53
1 ответ

Когда вы удаляете каталог с помощью rm -rf , find все еще пытается войти в него после удаления (он не имеет представления о том, что делает rm ). Вот где происходит ошибка.

Вы должны добавить флаг -depth .

Из POSIX найти руководство :

-depth

Первичный всегда должен оцениваться как истинный; он должен вызывать спуск иерархии каталогов, чтобы все записи в каталоге выполнялись до самого каталога. Если первичный -depth не указан, все записи в каталоге должны выполняться после самого каталога. Если указан какой-либо первичный элемент -depth , он должен применяться ко всему выражению, даже если первичный элемент -depth обычно не оценивается.

6
28.01.2020, 02:25

Теги

Похожие вопросы