如何在java中执行shell脚本
1、如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
2、SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。runningStatus:运行状态,0标识正常。 详细可以看java文档。
3、在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。
java执行带参数的shell脚本并返回值
你先打印pathshell这个变量,看这个变量是不是正确的,如果不正确,当然无法定位到find命令了。你后面的代码是没有问题的,只能出在这个地方。还有你的find命令没有参数传入啊,命令参数之类的还是是需要的。
用java调用shell时没有shell环境变量,你的BPbin在哪个路径下?操作系统可能找不到的。
= 0) {}return;参数说明:RUNNING_SHELL_FILE:要运行的脚本SHELL_FILE_DIR:要运行的脚本所在的目录; 当然你也可以把要运行的脚本写成全路径。runningStatus:运行状态,0标识正常。 详细可以看java文档。
shell:var=`java Demo`Demo.java:System.out.print(赋给shell变量的值)最简单的方法了。
runningStatus:运行状态,0标识正常。 详细可以看java文档。param1, param2, param3:可以在RUNNING_SHELL_FILE脚本中直接通过1,2,$3分别拿到的参数。
在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。
怎么通过java去调用并执行shell脚本以及问题总结
对于第一个问题:java抓取,并且把结果打包。那么比较直接的做法就是,java接收各种消息(db,metaq等等),然后借助于jstorm集群进行调度和抓取。最后把抓取的结果保存到一个文件中,并且通过调用shell打包, 回传。
如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。
这是你在linux下面执行shell脚本需要注意的问题。没有的话,就需要添加权限,就用chmod 777,否则在执行到Runtime.getRuntime().exec的时侯会出现Permission denied错误。
我们选择后一种,即当完成外币资金的调度工作后,用Java的OutputStreamWriter来生成一个Txt文件,然后用Java来调用Shell脚本,在Shell脚本中完成FTP文件到Kondor系统的工作。
sh脚本如何自动执行java程序,并且该脚本如何被定期调用?
脚本还是简单:/sbin/java /.../javaproject/delete 当然上面的需要将路径设置正确。最好能将delete.java修改为首字母大写的Delete.java,然后编译。
exportPATH=$PATH:$JAVA_HOME/bin:/root/bin:$NODE_HOME/bin:$CASPERJS_HOME/bin:$PHANTOMJS_HOME/bin 原来是因为java在调用shell的时候,默认用的是系统的/bin/下的指令。特别是你用root权限运行的时候。
在写程序时,有时需要在java程序中调用shell脚本,可以通过Runtime的exec方法来调用shell程序,运行脚本。每个Java 应用程序都有一个Runtime 类实例,使应用程序能够与其运行的环境相连接。
如果shell脚本和java程序运行在不同的服务器上,可以使用远程执行Linux命令执行包,使用ssh2协议连接远程服务器,并发送执行命令就行了,ganymed.ssh2相关mave配置如下,你可以自己百度搜索相关资料。
在java程序中如何调用linux的命令?如何调用shell脚本呢? 这里不得不提到java的process类了。