Ваш синтаксис выключен; [
не запускает новую команду, он просто проверяет, является ли ее аргумент непустым.
find
сам имеет возможность удалять найденные объекты, поэтому, вероятно, используйте его вместо этого.
find -type f -perm -222 -print -delete
Полагаю, вам нужны только обычные файлы (-type f
), хотя -delete
также может обрабатывать каталоги. -print
вызывает печать файлов перед удалением.
(На самом деле ваш синтаксис просто зацикливается на токенах [find
, -perm
и -222]
; аргументы for
просто Если вы хотите выполнить команду там, синтаксис будет for file in $(command ...)
, но это тоже плохая практика, потому что он сломается, если command
выведет имя файла, которое не является единственным токеном.)