Используйте find
export -f myshellfunc
find . -mindepth 1 -maxdepth 1 -type f -name '*.zip' -exec bash -c 'myshellfunc "$0"' {} \;
Вы ДОЛЖНЫ экспортировать свою функцию оболочки с помощью export -f
, чтобы это сработало.
Теперь find
выполняет bash
, который выполняет вашу функцию оболочки, и остается только на уровне текущего dir.
Я бы предложил раздел 2. Рассмотрим, например, системный вызов open
— на самом деле библиотечная функция C, обертывающая системный вызов open
, — который задокументирован только в разделе 2.
Если функция находится в самом ядре, а не в C-библиотеке пользовательского пространства, поместите ее в раздел 2.
Раздел 3 предназначен не только для функций libc, это могут быть и другие библиотеки, предоставляющие подпрограммы операционной системы низкого -уровня, не являющиеся частью ядра. Например, страницы руководства по функциям PAM хранятся в разделе 3.
В этом случае, если у вас есть системный вызов ядра и библиотечная функция, поместите справочную страницу для системного вызова в раздел 2, а справочную страницу для библиотечной функции — в раздел 3.