升级到 bash 4.3.30 后,.bashrc 中的导出 -f 会杀死内置函数吗?

升级到 bash 4.3.30 后,.bashrc 中的导出 -f 会杀死内置函数吗?

我最近通过 macports 将 bash (Mac OS X 10.6.8) 从 3.2.48(1) 升级到 4.3.30(1),虽然安装似乎很顺利,但我的 ~/.bashrc 中的两个点我export -f myfunc;似乎产生了一些意想不到的结果。各种事情,包括manmore,都会给出以下错误:

/bin/sh: line 6: 'BASH_FUNC_myfunc%%': not a valid identifier

~/.bashrc 中定义了两个函数,用于export -f允许另一个脚本调用该函数;该错误将引用 ~/.bashrc 中存在的第一个错误,我不知道行号来自哪里。辅助脚本正常工作,删除export-f标志可以消除错误,但显然会导致脚本无法调用该函数。

是什么导致了这种行为以及如何在 bash 4 中正确导出我的函数?

相关内容