【问题标题】:How can I run a sh command in java with assigning options如何在 java 中运行带有分配选项的 sh 命令
【发布时间】:2019-01-13 09:22:48
【问题描述】:

这是我目前在 sh 脚本中执行的 sh 命令:

sh bin/vtdStart.sh -project=4 -setup="Sim" -autoConfig >& debug.txt

我想要的是在 java 中执行脚本“vtdStart.sh”并同时设置项目、设置、自动配置。我该怎么做?

【问题讨论】:

    标签: java shell sh processbuilder runtime.exec


    【解决方案1】:

    我假设您实际要执行的命令行是这样的:

     bin/vtdStart.sh -project=$SM_PROJECT -setup=$SM_SETUP -autoConfig >& debug.txt
    

    并且vtdStart.sh 设置了执行位和#!/bin/sh 行。

    有两种方法可以做到这一点:

    1. 您可以手动进行环境变量插值,拆分命令参数,拉出重定向等,然后将它们与ProcessBuilder放在一起。

    2. 你可以用简单的方法做到这一点:

      Runtime.exec("/bin/sh", "-c", 
        "bin/vtdStart.sh -project=$SM_PROJECT -setup=$SM_SETUP -autoConfig >& debug.txt");
      

      让shell处理扩展和重定向。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-26
      • 1970-01-01
      • 2011-11-10
      • 2023-03-11
      • 2012-10-26
      • 2013-10-04
      • 2014-05-28
      相关资源
      最近更新 更多