当前位置: 首页 > 面试题库 >

如何从Java代码运行Unix Shell脚本?

越宣
2023-03-14
问题内容

从Java运行Unix命令非常简单。

Runtime.getRuntime().exec(myCommand);

但是可以从Java代码运行Unix Shell脚本吗?如果是,从Java代码中运行Shell脚本是一个好习惯吗?


问题答案:

你应该真正看一下Process Builder。它确实是为这种事情而构建的。

ProcessBuilder pb = new ProcessBuilder("myshellScript.sh", "myArg1", "myArg2");
 Map<String, String> env = pb.environment();
 env.put("VAR1", "myValue");
 env.remove("OTHERVAR");
 env.put("VAR2", env.get("VAR1") + "suffix");
 pb.directory(new File("myDir"));
 Process p = pb.start();


 类似资料:
  • 问题内容: 我快要解决这个问题了。 下面是代码: 问题答案: 您的代码是正确的,我相信您不会收到异常,如果您使用进行阅读,则不会得到任何东西。 已经说过,现在命令是100%以这种方式执行,这是因为您正在回显某些内容,需要使用来将其读回。 检查以下示例,该示例将成功创建一个名目录并打印您正在回显的内容。为了将其放入日志文件,恐怕您可以使用“>”来完成它,您可能必须使用一些编辑器命令或使用Java创建

  • 这是我第一次在java中尝试python。我试图从我的代码中执行python脚本,如下所示。 但我有以下例外 无法运行程序“python”:CreateProcess error=2,系统找不到指定的文件 我已经安装了python。我不确定为什么找不到该文件。我试着跟随这个链接,但它并没有解决我的问题。 提前谢谢。 编辑1 我尝试了“Viacheslav Vedenin”给出的示例代码,当我执行我

  • 我正在通过添加Beanshell预处理器读取xlsx文件。当我在Eclispe中运行代码时,它工作得很好。

  • 问题内容: 基本上,我想做两件事: 我想知道是否可以使用Java代码运行Java代码。 如果可能的话,如何在屏幕上显示输出?(无论是常规输出还是错误或异常) 我知道这是可能的,因为我的一位前辈已经做到了,但是我不知道他是如何做到的。也许他使用了Java的内置类之一。 注意:用户将代码写入一些文本文件中,然后将文件内容存储在某个变量中,然后也许运行该代码。 问题答案: 是的,有可能。 步骤1:编译代

  • 我创建了一个可以运行jmetm脚本(jmx文件)并向我提供结果的sping-boot应用程序。所以,基本上我使用jmetm lib通过java代码运行jmx,它对单个用户运行良好(我的意思是,一次一个测试)。现在,我想为多个用户扩展此功能,以便多个用户可以使用不同的实例同时运行jmetm引擎。请你告诉我如何实现这一点?注意:我已经在aws ec-2实例中部署了这个Spring boot应用程序,并

  • 问题内容: 我有以下代码行可运行批处理文件, 但是我希望它在后台运行,而不是向用户显示命令行。我该如何更改才能做到这一点? 问题在于命令窗口打开并中断程序GUI。我只希望命令窗口在执行批处理文件时不可见。 问题答案: 完全删除“开始”将完成您想要的操作(因为这就是创建窗口的原因): 我已经对此进行了测试,并且可以正常工作,当然,如果您想与命令提示符进行通信,则必须具有输入和输出流,也不要忘记您的错