【问题标题】:How to pass getopts argurements to a shell script using java如何使用 java 将 getopts 参数传递给 shell 脚本
【发布时间】:2018-08-14 22:28:06
【问题描述】:

我想使用 Runtime.getRuntime().exec() 使用 java 运行 shell 脚本。但是,我的 shell 脚本正在使用 getopts,所以我需要在终端中使用此命令来运行脚本:

./script.sh -l 01 -n 02 

那么我如何使用 java 执行这个带有多个参数的脚本呢?我尝试了下面的代码,但我不工作。

String[] args = {"script.sh", "-l 01", "-n 02"};
Runtime.getRuntime().exec(args);

【问题讨论】:

  • 你得到什么错误?是 Java 错误还是正在运行的脚本的错误?如果是脚本,那是因为它将“-l 01”作为一个参数,而那些应该作为单独的参数传递。

标签: java shell command-line command-line-arguments


【解决方案1】:

每个参数都是一个单独的String。喜欢,

String[] args = { "script.sh", "-l", "01", "-n", "02" };

【讨论】:

  • 如果脚本不在 $PATH 中,您可能还需要 "./script.sh"
  • 嗨,谢谢它在我添加“./script.sh”时也有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-08
  • 2014-11-27
  • 1970-01-01
  • 2018-09-03
相关资源
最近更新 更多