Для этого необходимо использовать xargs
:
find "dir" -name "*.html" -print0 | xargs -0 -n1 -I % tar zcpf %.tar.gz %
Он обрабатывает почти все специальные символы в именах файлов.
К счастью, PHP (! )работает не от имени пользователя root
, поэтому у него нет прав для запуска apt install
. Бит suid
игнорируется в сценариях оболочки, поэтому установка этого бита в сценарии оболочки также не является решением.
Если вы очень-очень хотите предоставить PHP привилегии для запуска apt-get
от имени root
пользователя (и, пожалуйста, подумайте хорошенько об этом ), вы можете добавить запись в sudoers
, чтобы разрешить это, но ваша команда должна быть sudo apt-get [...]
.
Запуск сценария через веб-интерфейс -через sudo
грант не рекомендуется, -потому что, если кто-то каким-то образом найдет способ редактировать этот файл, теперь он может делать все, что захочет. в вашей системе как суперпользователь, заставив PHP сделать это за них.