The ;
должен быть свой собственный отдельный аргумент, чтобы найти
:
find /home/shredtest/ -depth -exec /home/test.sh "{}" \;
(пространство для заметок между {}
и \;
). После -exec
:
Все следующие аргументы, которые нужно найти, считаются аргументами команды до тех пор, пока не встретится аргумент, состоящий из `;'.
(из man find
). То есть аргумент должен состоять полностью из ;
, чтобы остановить список аргументов.
Вы также можете использовать `+', чтобы передать множество аргументов файла одновременно, что тоже должно быть его собственным аргументом.
Обратите также внимание, что в find /home/shredtest/*
*
не нужно: find
пройдет через само содержимое каталога, в то время как *
будет расширено оболочкой (и иногда может привести к не совсем нужным результатам).
.