Bash 调用函数作为数组元素

Bash 调用函数作为数组元素

我正在设计一个 bash 脚本,以便按顺序执行一系列功能(例如,安装包、克隆存储库),并在完成后向电子邮件地址发送摘要报告,以表明安装是成功还是失败。

我突然想到一个主意,那就是创建一个关联数组,其中行的第一个元素表示函数调用,第二个元素表示函数生成的任何错误代码。这样,我就可以循环遍历数组来调用所有函数。

就像是-

function foo () {
    //do something
    return success
}

function bar () {
    //do something
    return success
}

declare -A arr
arr[0,0]=foo
arr[0,1]=1
arr[1,0]=bar
arr[1,1]=1

function init () {
    for i in 0 .. 1 do
        error = arr[i,0] //this im not sure about, would this execute foo()?
        arr[i,1] = error
}

init

有没有更好的方法可以做到这一点,以便脚本本身可以根据需要轻松修改以添加或删除功能?

相关内容