2011-09-26 79 views
0

我有几个(bash)脚本可以单独运行,也可以按顺序运行。我们称他们为一,二,三。他们需要一段时间才能运行,因此我们经常按顺序运行它们,所以我正在编写一个包装脚本来简单地调用它们。用于编写调用其他几个脚本的包装脚本的模式?

我本人没有遇到任何问题,但我意识到这是多么脆弱。例如:

脚本二有一个-e参数供用户指定发送错误的电子邮件地址。 脚本三有同样的事情-t参数。 脚本的-e参数意味着别的

我的包装脚本基本上解析了三个下标的所有参数的联合,并且“做正确的事情”。 (即它有它自己的参数 - 例如-e表示电子邮件地址,它将它的值传递给第二个脚本的-e arg,但是传递给第三个参数的-t arg)。

我的问题是,这些脚本现在是如此紧密耦合 - 例如,有人出现,看到脚本二和三,并说“哦,我们应该使用相同的电子邮件地址”,并更改 - t到脚本三中的-e。脚本三自行完成,但现在包装脚本已损坏。

你会在这种情况下做什么?我在每个脚本的评论中都有一些很大的警告,但是这让我困扰。我能想到的唯一的另一件事就是拥有一个巨大的整体脚本,我显然对这两者都不感冒。

+1

这听起来像是企业级的,但是哪些源代码和变更控制流程到位?我的简短回答是:训练维护人员编辑包装器。 –

回答

0

这个问题似乎是人们不小心改变了底层脚本的API。你不能随便改变一个你知道别人依赖的API。毕竟,它可能不仅仅是这个包装脚本,期望脚本#3采取-t参数。所以答案似乎是:停止更改底层脚本