bash - 调用名称存储在 bash 变量中的函数

标签 bash shell scripting

假设我有:

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/

相关文章:

bash - 并行 grep 模式多个文件

linux - 需要捕获两个搜索条件之间的行数

arrays - 将多个数组作为参数传递给 Bash 脚本?

windows - Powershell 删除配置文件脚本 - 错误检查不起作用

java - Install4j:脚本生成器?

javascript - UglifyJS - 如何输出到不同的文件夹?

linux - 从linux中的某个目录启动shell

c - 如何使用系统调用dup?

linux - 如何让用户以 root 权限运行脚本?

regex - 用于在文件中每行(不包含句号)末尾添加句号的 Shell 脚本