【发布时间】:2012-02-05 08:35:07
【问题描述】:
我有一个 shell 脚本,它执行各种命令,例如杀死进程、通过 scp 复制文件、通过 ssh 执行远程命令等...
问题是这个脚本很难维护和单元测试。 此外,我希望将来对其进行更改,以便它可以与 xml 配置文件一起使用,并且我认为它不能用 shell 脚本轻松完成。 所以,我想把它转换成一个java应用程序,但是只是用ProcessBuilder运行很多命令感觉不对。
另一方面,为今天在 shell 命令中很容易解决的每个“问题”(如 java ssh 客户端、用于 linux 进程的 java API 等)寻找 java 解决方案也感觉不对。
编辑: 我确信我的程序将在 linux 环境中运行,因此跨平台在这里不是问题。
有什么建议吗?
【问题讨论】:
-
它难以维护的原因是它是一个围绕基本功能的“包罗万象”的包装器。在我看来,你最好围绕特定用例编写完整的应用程序(带有异常处理和junit测试),并可能为特定的维护任务保留一组有限的shell脚本。
-
/bin/sh 可以做很多很多。如果您可以将配置保留为简单的变量列表,则可以调用“source”/“。”将其读入。如果您有一个 XML 文件,请编写一个 XSLT 脚本来创建变量列表。
标签: java linux shell scripting