関数を完全なパスでラップしたいです。
$ pwd
/home/me
$ which pwd
/bin/pwd
$ function /bin/pwd() {
echo "wrapping pwd"
command /bin/pwd
} && export -f /bin/pwd
$ /bin/pwd
wrapping pwd
/home/me
$ bash -c "/bin/pwd"
bash: error importing function definition for `BASH_FUNC_/bin/pwd'
/home/me
あるパスにちなんで名付けられた関数を正常にエクスポートする方法はありますか? 最初のエクスポートではエラーは発生しませんが、サブシェルのエクスポートではエラーが発生します。最終目標は、実際のコマンドを起動する前に環境変数を設定することです。
答え1
関数名には英数字とアンダースコアのみを含めることができ、英字またはアンダースコアで始まる必要があります。