【发布时间】:2011-09-27 05:35:54
【问题描述】:
我有几个(bash)脚本,它们可以单独运行,也可以按顺序运行。我们称它们为一、二和三。它们需要一段时间才能运行,所以由于我们经常按顺序运行它们,所以我正在编写一个包装脚本来简单地按顺序调用它们。
我本身并没有遇到任何问题,但我意识到这是多么脆弱。例如:
脚本 2 有一个 -e 参数供用户指定将错误发送到的电子邮件地址。 脚本 3 对同一件事有一个 -t 参数。 script one 的 -e 参数有其他含义
我的包装脚本基本上解析三个下标的所有参数的并集,并且“做正确的事”。 (即它有自己的 args - 比如说 -e 用于电子邮件,并将其值传递给 -e arg 到第二个脚本,但传递给 -t arg 用于第三个脚本)。
我的问题是这些脚本现在是如此紧密耦合 - 例如,有人走过来,查看脚本 2 和 3,并说“哦,我们应该对电子邮件地址使用相同的参数”,然后更改 -t到脚本三中的 -e。脚本 3 本身可以正常工作,但现在包装脚本已损坏。
在这种情况下你会怎么做?我在每个脚本的 cmets 中有一些大的警告,但这让我很困扰。我唯一能想到的另一件事是拥有一个巨大的单体脚本,我显然也不喜欢它。
【问题讨论】:
-
这听起来很企业化,但有哪些来源和变更控制流程?我的简短回答是:培训维护人员也编辑包装器。
标签: bash command-line-arguments