我最近通过 macports 将 bash (Mac OS X 10.6.8) 从 3.2.48(1) 升级到 4.3.30(1),虽然安装似乎很顺利,但我的 ~/.bashrc 中的两个点我export -f myfunc;
似乎产生了一些意想不到的结果。各种事情,包括man
和more
,都会给出以下错误:
/bin/sh: line 6: 'BASH_FUNC_myfunc%%': not a valid identifier
~/.bashrc 中定义了两个函数,用于export -f
允许另一个脚本调用该函数;该错误将引用 ~/.bashrc 中存在的第一个错误,我不知道行号来自哪里。辅助脚本正常工作,删除export
或-f
标志可以消除错误,但显然会导致脚本无法调用该函数。
是什么导致了这种行为以及如何在 bash 4 中正确导出我的函数?