Во-первых, он не будет работать, как вы набрали, потому что оболочка будет интерпретировать его как
find . -iname "*Advanced*Linux*Program*" -exec kpdf {} &
\;
, который является недопустимым find
запуском в фоновом режиме, за которым следует команда, которая не существует.
Даже экранирование не работает, так как find -exec
на самом деле exec
передает заданный список аргументов вместо передачи его оболочке (что фактически обрабатывает &
для создания фона).
Как только вы узнаете, что в этом проблема , все, что вам нужно сделать, - это запустить оболочку, которая выдаст следующие команды:
find . -iname "*Advanced*Linux*Program*" -exec sh -c '"$0" "$@" &' kpdf {} \;
С другой стороны, учитывая то, что вы пытаетесь сделать, я бы предложил один из
find ... -exec kfmclient exec {} \; # KDE
find ... -exec gnome-open {} \; # Gnome
find ... -exec xdg-open {} \; # any modern desktop
, который откроет файл в программе по умолчанию, связанный с вашей рабочей средой.