シェル関数の実行方法を知っているのはシェルだけなので、関数を実行するにはシェルを実行する必要があります。また、関数をエクスポート用に export -f
でマークする必要があります 、それ以外の場合、サブシェルはそれらを継承しません:
export -f dosomething
find . -exec bash -c 'dosomething "$0"' {} \;
find . | while read file; do dosomething "$file"; done
シェル関数の実行方法を知っているのはシェルだけなので、関数を実行するにはシェルを実行する必要があります。また、関数をエクスポート用に export -f
でマークする必要があります 、それ以外の場合、サブシェルはそれらを継承しません:
export -f dosomething
find . -exec bash -c 'dosomething "$0"' {} \;
find . | while read file; do dosomething "$file"; done