我需要在 C/C++ 程序的 Bash 环境中定义一个 Bash 函数。在shellshock错误之前,我可以这样定义一个函数:
my_func='() { echo "This is my function";}'
或来自 C 程序的等价物:
setenv("my_func", "() { echo \"This is my function\";}", 1);
或者
putenv("my_func=() { echo \"This is my function\";}");
但是使用修复了shellshock的 Bash 版本,我无法管理如何在环境中定义我的函数。
奇怪的是,如果我运行env
,我可以看到我在环境中定义的函数,但如果我调用它,Bash 说它不存在。
提前致谢