假设我有:
function x {
echo "x"
}
call_func="x"
现在,我可以简单地使用 eval
如下:
eval $call_func
但我想知道是否有其他方法可以调用名称存储在变量中的函数(如果存在):call_func
。
最佳答案
你应该可以直接调用函数
$call_func
对于其他所有内容,请查看该答案:https://stackoverflow.com/a/17529221/3236102 它不直接是您需要的,但它显示了如何调用命令/函数的许多不同方式。
不过,让用户执行任意代码是不好的做法,因为它可能非常危险。这样做会更好:
if [ $userinput == "some_command" ];then
some_command
fi
这样,用户只能执行您希望他们执行的命令,如果输入不正确,甚至可以输出错误消息。
关于bash - 调用名称存储在 bash 变量中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33387263/