我想用其完整路径包装一个函数。
$ 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
有没有办法成功导出以某个路径命名的函数?第一次导出不会报错,但子 shell 中的导出会报错。最终目标是在启动实际命令之前设置环境变量。
答案1
函数名称只能包含字母数字字符和下划线,并且必须以字母或下划线开头。