java - 如何将 Shell 脚本添加为 Java 项目的一部分

标签 java shell cygwin

我正在使用 Cygwin 在 Java 中执行 Shell 脚本。我的脚本在命令提示符下运行良好,即使我通过 Java 尝试简单的 shell 脚本也能正常工作。

但现在我的脚本正在使用名为 lib 的文件夹中的另一个 shell 脚本 所以我需要将 lib 文件夹包含到我的项目中。

谁能建议如何将 shell 脚本作为 Java 项目的一部分。

库文件夹-->

  • lib/lib.sh
  • lib/paxus.sh
  • lib/preload.sh
  • lib/tgzcreator.sh
  • lib/specific.sh

InSide Lib 文件夹,这些是 Shell 脚本。正在使用哪个 my_script.sh。

编辑:- 我想在我的项目中添加 Shell 脚本,它使用命令行参数和上述文件夹结构中的一些其他脚本。

 cmd = "D:/cygwin/bin/bash -c '/bin/my_script.sh 121 121 1212 12121'";

帮我做这件事。

最佳答案

如果您使用 Maven 作为构建工具,最好的解决方案是在 /src/main/resources 下添加脚本。在这种情况下,脚本将自动包含到您的 jar 文件中,因此您将能够从您的 java 代码中即时提取它们并运行。

如果您想单独使用脚本,您建议了一个好的解决方案。我的意思是 lib 文件夹。但是由于我使用的是 Maven,所以我会把它们放在 /src/main/sh 下(就像我把我的 java 文件放在 /src/main/java 下一样)

关于java - 如何将 Shell 脚本添加为 Java 项目的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8397681/

相关文章:

java - 包注释应该位于文件 package-info.java 中

java - 未为类型 HelloWorld 定义 JFrame 方法

java - 我可以使用 f :convertNumber with h:outputFormat

java - 当用户尝试插入超过最大限制的文本时如何制作 toast ?

java - 如何以编程方式确定当前类的 Java 字节码版本?

shell - 如何使用 Neo4j 3.1.4 执行 .cypher 文件(不通过 .zip 文件)

android - 从脚本chmod android文件系统

在 Mac OS X 上通过蓝牙发送文件的 Shell 命令

c++ - gcc、g++、cygwin 和 mingw 之间的关系?

shell - 在 Cygwin 中设置默认 Shell