function x { echo "x" } call_func="x"
现在,我可以简单地使用eval如下:
eval $call_func
但我想知道是否有其他方式调用函数(如果存在),其名称存储在变量中:call_func.
$call_func
对于其他一切,请查看答案:https://stackoverflow.com/a/17529221/3236102它并不是您所需要的,但它显示了许多不同的方法来调用命令/功能.
让用户执行任意代码是不好的做法,因为它可能非常危险.更好的是这样做:
if [ $userinput == "command" ];then command fi
这样,用户只能执行您希望它们执行的命令,如果输入不正确,甚至可以输出错误消息.