Java如何调用shell脚本

zhlelite 2008-02-24 10:20:55
Java中需要调用shell脚本或者说bat脚本。
知道应该用Runtime.getRuntime.exec("notepad")的方式,
就是不知道命令应该怎么写。比如有一个aaa.sh,
是否应该写成Runtime.getRuntime.exec("aaa.sh"),
脚本aaa.sh的路径怎么处理?
...全文
3010 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
wuchao911 2008-02-26
  • 打赏
  • 举报
回复
<html   xmlns= "http://www.w3.org/1999/xhtml "> 
<head>
<meta http-equiv= "Content-Type " content= "text/html; charset=utf8 " />
<title> notepad </title>
</head>
<body>
<form>
<script>
function exec(command){
window.oldOnError = window.onerror;
window.command =command;
window.onerror = function(err){
if(err.indexOf( 'Automation')!=-1){
alert( '命令 ' + window.command )
//return true;
}
else
return false;
};
var wsh=new ActiveXObject( 'WScript.Shell')
if(wsh)
alert(command);
wsh.Run(command);
window.onerror=window.oldOnError;
}
</script>
<input type=button onclick= "exec( 'notepad.exe') " value=执行>

</form>
</body>
</html>
logi22 2008-02-25
  • 打赏
  • 举报
回复
Runtime.getRuntime.exec("/opt/usr/..../aaa.sh").waitFor()
用绝对路径
另外,waitFor是在有多个shell命令要运行,并且可能会互相影响时要保证命令执行顺序的方法,例如先用shell写一个文件,然后用shell删除这个文件,这个时候就要加上waitFor
oogamiyiqilou 2008-02-25
  • 打赏
  • 举报
回复
要把绝对路径加上去就可以了。
另外Runtime.getRuntime.exec( "aaa.sh ").waitFor()
可以根据返回的returncode检查是否运行时出错
samue 2008-02-25
  • 打赏
  • 举报
回复
加绝对路径就可以了
healer_kx 2008-02-24
  • 打赏
  • 举报
回复
Linux的要加./吧?
healer_kx 2008-02-24
  • 打赏
  • 举报
回复
notepad.exe

62,615

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧