Lol*_*lly 1 java shell shell-exec runtime.exec
我正在从Java程序执行shell脚本.我使用Runtime类实现了它.以下是我实施的代码
final StringBuilder sb = new StringBuilder("test.sh");
sb.append("/path to/my/text file");
final Process p = Runtime.getRuntime().exec(sb.toString());
Run Code Online (Sandbox Code Playgroud)
这里sb是字符串缓冲区对象,我在其中附加我的参数并在exec方法中使用它.但问题是我传递的参数"/ path to/my/text file"被认为是4个参数
/path
to
/my/text
file
Run Code Online (Sandbox Code Playgroud)
但是如果在shell中运行test.sh"/ path to/my/text file",它被视为单个参数.如何使用Java代码实现相同的功能,我需要将此路径与空格作为单个参数进行考虑.任何请你真的很感激.
使用ProcessBuilder,它是它的设计目标,让您的生活更轻松
ProcessBuilder pb = new ProcessBuilder("test.sh", "/path", "/my/text file");
Process p = pb.start();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13027 次 |
| 最近记录: |