汤姆数码解答网 _ www.otarim.com
首页 电脑常识 互联网 操作系统 软件应用 硬件相关 电脑安全 数码产品 手机相关 笔记本 其它相关 编程
栏目导航
首页 > 编程 > 正文

怎么在java程序中调用linux命令或者shell脚本

作者:用户发布来源:汤姆数码解答网发布时间:2018/7/9


有人知道怎么在java程序中调用linux命令或者shell脚本,谢啦。


网友交流

怎么调用shell脚本呢?在java程序中怎么调用linux的命令?

这里不得不提到java的process类了。

process这个类是一个抽象类,封装了一个进程(你在调用linux的命令或者shell脚本就是为了执行一个在linux下执行的程序,所以应该使用process类)。

process类提供了执行从进程输入,执行输出到进程,等待进程完成,检查进程的推出状态,以及shut down掉进程。

至于详细的process类的介绍放在以后介绍。

另外还要注意一个类:Runtime类,Runtime类是一个与JVM运行时环境有关的类,这个类是Singleton的。

这里用到的Runtime.getRuntime()方法是取得当前JVM的运行环境,也是java中唯一可以得到运行环境的办法。(另外,Runtime的大部分方法都是实例方法,也就是说每次运行调用的时候都需要调用到getRuntime方法)

下面说说Runtime的exec()方法,这里要注意的有一点,就是public Process exec(String [] cmdArray, String [] envp);这个方法中cmdArray是一个执行的命令和参数的字符串数组,数组的第一个元素是要执行的命令往后依次都是命令的参数,envp感觉应该和C中的execve中的环境变量是一样的,envp中使用的是name=value的方式。

下面说一下,怎么样使用process来调用shell脚本

例如,我需要在linux下实行linux命令:sh test.sh,下面就是执行test.sh命令的办法:

这个var参数就是日期这个*2包的名字。

String shpath="/test/test.sh"; //程序路径

Process process =null;

String command1 = chmod* + shpath;
process = Runtime.getRuntime().exec(command1);
process.waitFor();

String var="*2"; //参数

String command2 = /bin/sh + shpath + + var;
Runtime.getRuntime().exec(command2).waitFor();

更多话题
上一篇:<代码如下;html><head><title>TODOsupp 下一篇:请提供代码 如题,谢谢了。 java 有个时间是yyyy年MM月dd日中怎么提取出单独的年,月,日
[汤姆数码解答网 _ www.otarim.com] 本站信息来自网友发布,本站无法保证其内容真实性,请用户一定仔细辨别。联系QQ:885 971 98
友情链接:六安职业技术学院  清风网络  九江职业大学  嘉应学院  风车动漫  小报吧  武汉美术网  星座秀  福建中医药大学  风水网  金陵热线  VOA英语学习网  中国板报网  在点网  爱丽时尚  南京审计学院  逐浪网  歌谱网  鲸鱼阅读  河北理工大学  山东警察学院    浴花谷花卉网  北京大学医学部  漫客栈  江西司法警官职业学院  中华新闻  天方听书网  天津美术学院  55壁纸网  733动漫网  内蒙古师范大学  华南师范大学  奇塔文学网  西北大学  经典人生励志  闽江师范高等专科学校  古诗词大全  33小说网  览潮网  西南农业大学  多多软件站  湖北医药学院  华南理工大学广州汽车学院  闽江学院  天津美术学院  飞卢中文网  360星座网  中华板报网  23文学网