java调用linux命令行
java怎么调用linux命令行呢?下面是java调用linux命令行的具体方法介绍:
java调用linux命令行有两种调用方式。一种是直接调用linux命令,二是将linux命令写到.sh脚本中,调用脚本执行。
1、直接调用:
使用java中lang包下面的Runtime类和Process类,其中Runtime类中的Runtime.getRuntime().exec(linux command)方法可以直接执行linux命令,而Process类可以接收Runtime.getRuntime().exec()类的返回值,并提供了waitFor()方法和destroy()方法,waitFor()方法的作用在于等待此process执行完成后再执行后面的内容,destroy()方法作用在于销毁process。
2、调用shell脚本:
直接调用方法存在一些弊端,比如复杂命令不好实现、有些命令莫名其妙实现不了等。因此我推荐使用调用shell脚本的方式实现linux命令。具体实现方法为:首先将命令写在shell脚本(.sh)中,然后在Runtime.getRuntime().exec()中调用“sh path/.sh”,其中path为shell脚本的路径。
实现案例如下图所示:
其中imp.sh中的命令是:
1 name=$12 su - oracle -c "imp user/pwd@实例名 file=filepath full=y ignore=y"
该语句实现的功能为在root用户下,切换到oracle目录,并将某个.dmp文件使用imp命令导入oracle数据库,然后返回到root用户下,将该语句放到for循环中实现了多个.dmp文件导入oracle数据库的功能。其中.dmp文件的文件名是变量,在shell命令中以name=$1代替,在linux命令中以${name}代指文件名,在调用时传入该参数的值,linux命令中$1,$2…$n是占位变量,在使用变量时按顺序使用,赋值时按照相应的顺序进行赋值。
-
汽车自动驾驶/智能共享与大力发展公共交通,哪一个更有前途?
汽车自动驾驶及共享和公共交通,究竟发展哪个更有前途,这个前途要看指的是哪个方面。其实您所说的这两个方向,简单来说就是小型私家车与大型公共交通工具之间的问题,如果是出于盈利的角度...
问答查看全文>> -
大众polo首付比例多少
大众polo的首付为汽车销售价的百分之三十左右,大众POLO是1975年大众生产的一款车型,直到现在历经几代的汽车演变,销量依旧稳居德国小型车的第一。大众POLO也因此被视为经...
问答查看全文>> -
精选10款豆沙月饼品牌产品
十大热门豆沙月饼品牌产品排行榜都有什么,一起来看看小编的分享吧!1、美心月饼丰盈秋月礼盒2、广州酒家利口福3、元朗荣华月饼4、北京稻香村老式中秋月饼5、杏花楼多口味月饼6、莲香...
美食查看全文>> -
保时捷二手718敞篷怎么样?
保时捷二手718敞篷参数:1、在2014年,新保时捷718定位将低于目前该品牌最便宜的跑车Boxster\/Cayman,预计售价为40,000欧元,约合人民币34...
问答查看全文>>
推荐
- 1夏天有必要用面霜吗 夏天只用乳液不用面霜可以吗105
- 2九一八朋友圈祭奠英烈句子 发朋友圈祭奠亲人437
- 3冠道240加92还是95的油228
- 4保安公司招聘范文480
- 5水泵坏了水箱会反水吗384
- 6如何开双离合变速箱的车?432
- 7a4和a5的区别是什么?316
- 8表达爱国热情的句子 表达爱国热情的诗句222