【发布时间】:2018-06-02 04:05:48
【问题描述】:
在我们的环境中,我们有近 30 个应用程序和 5 个环境。由于时间线问题,我们创建了5[env]*3[three scripts per env]*30[num of applications]。它是 450 个文件。
我们了解到我们不必要地复制了代码。如果我们必须更改环境的某些挂载点位置,则必须在整个应用程序中进行更改。
所以我设计了一种方法,其中包含 3[所有应用程序的文件] + 2[具有应用程序特定方法的文件]。
它工作正常。但这里的问题是我们需要将 7 个参数传递给这三个脚本。
所以有一种说法是脚本很奇怪而且很麻烦。我想知道 bash 脚本的命令行参数的建议数量是多少。
我找不到任何与此相关的文档。但我提到了this。这并不能说服我。
有什么建议吗?我真的需要为了 7 个参数而重新考虑设计吗?
注意:我做到了。我现在有一个包含 3-5 个参数的解决方案。但我想知道推荐的参数数量。
【问题讨论】:
-
常用终端命令有时会难以置信。有七个参数不会比我在
grep和sed中使用的一些常用命令长。但是,多长多长取决于个人喜好。 -
参数的数量无关紧要。给同事一个手册页,看看他们是否可以轻松构建他们想要的命令。如果像
cp一样,您只列出单个文件,则可以接受数千个文件。如果像ffmpeg一样,大多数选项都有默认值,并且您只需指定要以任何顺序影响编码过程的哪些部分,那么有几十个就可以了。如果像clang这样的选项可以相互依赖并且文件的顺序对符号解析很重要,那么这可能是一个很大的麻烦。 -
感谢@thatotherguy 和 ifconfig 我从您提到的示例中了解到。
-
再添加一个示例,您会看到对
find命令的非常冗长的调用。