如何从Java中运行Linux脚本

11 浏览
0 Comments

如何从Java中运行Linux脚本

我想从Java程序中运行Linux脚本,并且只有当脚本停止时才继续执行程序。我对读取脚本输出不感兴趣...有人能帮帮我吗?\n非常感谢,\n对我的糟糕英语表示抱歉。

0
0 Comments

如何从Java中运行Linux脚本

有时候,在Java程序中需要运行Linux脚本。但是由于一些原因,可能会遇到无法运行脚本的问题。本文将介绍这个问题的原因以及解决方法。

问题原因:

1. 脚本文件没有可执行权限;

2. 脚本文件缺少 #!/ 头部声明;

3. 脚本文件不是可执行文件。

解决方法:

可以通过以下方法来解决这个问题:

1. 使用bash解释器来运行脚本:

Process proc = Runtime.getRuntime().exec("/bin/bash /path/to/myscript");
int ecode = proc.waitFor();

这种方法可以解决一些常见的问题,比如脚本文件没有可执行权限、缺少 #!/ 头部声明等。

通过在Java程序中使用bash解释器来运行Linux脚本,可以解决一些可能导致脚本无法运行的问题。希望本文对您有所帮助!

0
0 Comments

如何从Java运行Linux脚本

如果你需要运行一个简单的脚本,并且不需要监控输出或进行其他修改,你可以使用以下代码来运行脚本:

// 运行脚本
Process proc = Runtime.getRuntime().exec("/path/to/myscript");
// 等待返回码
int ecode = proc.waitFor();

但是,如果你的脚本有复杂的参数,需要监控标准输出、标准错误输出或进行其他修改(比如向标准输入提供数据、更改执行目录、环境变量等),那么你应该手动构建并启动进程。可以阅读Process的文档和ProcessBuilder的文档,了解如何设置和启动进程。

上述方法只适用于脚本没有或者输出很少的情况。否则,程序将会阻塞等待读取输出。

对于问题本身,似乎是一个非常简单的问题。但是如果脚本需要在特定目录下执行,你可以使用ProcessBuilder的directory()方法来设置执行目录。

请注意,如果你有更新的要求,请在问题中更新,而不是在评论中。其他人很难找到这个更新的要求。

0