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是占位变量,在使用变量时按顺序使用,赋值时按照相应的顺序进行赋值。
-
真心追求女朋友的句子
1、我不想做你生命的插曲,只想做你生命最完美的结局。2、心简单,世界就简单,幸福才会生长。3、我无法保证给你一段完美的感情,没有争吵,没有分歧,但我能保证只要你坚持,我定会不离...
句子查看全文>> -
智行汽车的前后悬架是什么
这款车的前悬架使用了麦弗逊式独立悬架,后悬架使用了多连杆独立悬架。智行是绅宝旗下的一款紧凑型suv,这款车全系搭载了1.5升涡轮增压发动机。这款发动机最大功率为110kw,最大...
问答查看全文>>
推荐
- 1碳纤维跑车撞击更安全?420
- 2新疆旅游最佳时间357
- 3感恩父母的精辟句子354
- 4鼠年男宝宝姓杨的名字207
- 5Dimmi胶囊电动牙刷好用吗 Dimmi胶囊电动牙刷怎么样273
- 6汽车清除积碳要做吗?293
- 7整车质保三年或10万公里是什么意思166
- 8换轮胎轮毂划伤避免不了吗488