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.5升自然吸气发动机最大功率转速为6000转每分钟,1.5升涡轮增压发动机的最大功率转速为5500转每分钟。博骏是一款小型suv,这款车一共使用了两款发动机,一款是1.5升自...
问答查看全文>>
推荐
- 1prnds挡是什么意思?343
- 2最新的坚持自我的名言大全(坚持自我的名言名句)421
- 3爱情句子10字452
- 4丰田雷凌1.2t是几缸车406
- 5酷路泽油箱多少升472
- 6酒鬼的概率是什么梗 酒鬼在第三家酒吧的几率是多少219
- 7汽车大灯的透镜是什么型号?133
- 8马六空气流量计通病是什么状态?421