我正在尝试围绕另一个程序(例如foo_wrapper
around foo
)编写一个包装脚本,它只是在每次调用foo
. 我希望用户能够以完全相同的方式进行交互,包括看到相同的 bash 完成输出foo_wrapper
。foo
例如,foo_wrapper.sh
应该--my_flag
在每次调用时简单地添加foo
,但仅仅在参数列表中添加或附加标志是不够的,由于foo
实现方式,它必须将它们放在正确的位置。因此,如果用户调用foo_wrapper bar baz
,我希望它映射到foo bar --my_flag baz
. 这就是为什么我认为我不能简单地使用 bash 别名。
如果我不需要 bash 补全来工作,这将是一个简单的脚本,但是如果没有 bash 补全,这个东西就不会那么有用了。谁能帮我弄清楚在这里做什么?我发现了compgen
bash 的内置函数,但我无法看到如何/是否可以使用它。