从Java运行Unix命令非常简单.
Runtime.getRuntime().exec(myCommand);
Run Code Online (Sandbox Code Playgroud)
但是可以从Java代码运行Unix shell脚本吗?如果是,从Java代码中运行shell脚本是一个好习惯吗?
我正在处理一个应用程序,有一个关于从java应用程序运行shell命令的问题.这是代码:
public String execRuntime(String cmd) {
Process proc = null;
int inBuffer, errBuffer;
int result = 0;
StringBuffer outputReport = new StringBuffer();
StringBuffer errorBuffer = new StringBuffer();
try {
proc = Runtime.getRuntime().exec(cmd);
} catch (IOException e) {
return "";
}
try {
response.status = 1;
result = proc.waitFor();
} catch (InterruptedException e) {
return "";
}
if (proc != null && null != proc.getInputStream()) {
InputStream is = proc.getInputStream();
InputStream es = proc.getErrorStream();
OutputStream os = proc.getOutputStream();
try {
while …Run Code Online (Sandbox Code Playgroud) 我正在使用java调用另一个程序,该程序依赖于导出的环境变量来起作用:
SOME_VARIABLE=/home/..
export SOME_VARIABLE
Run Code Online (Sandbox Code Playgroud)
如何使用java设置此变量,以便可以在一台以上的计算机上使用此程序?本质上,我希望能够通过java模拟以上命令。