我试图在bash中编写一些代码,它使用内省来选择要调用的相应函数.
确定候选人需要知道哪些功能被定义.使用参数扩展在bash中列出定义的变量很容易:
$prefix_foo="one" $prefix_bar="two" $echo "${!prefix_*}" prefix_bar prefix_foo
然而,这样做的功能似乎需要过滤set的输出 – 一个更加随意的方法.
有没有正确的方法?
compgen怎么样
compgen -A function # compgen is a shell builtin