当前位置:家常菜>百科>科技>正文

java调用linux命令行

人气:236 ℃/2023-03-13 03:53:21

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是占位变量,在使用变量时按顺序使用,赋值时按照相应的顺序进行赋值。

  • 福特翼虎保险丝在哪

    福特翼虎有3个保险丝盒,其位置分别在发动机舱的电池正极处附带了一个前保险丝盒;乘客舱的保险丝盒位置在右侧手套箱下方;行李舱的保险丝盒位置在行李舱里乘客一侧的侧壁上。汽车保险丝的...

    问答查看全文>>
  • 2022年国际家庭日短信祝福语大全

    1、我有一个“小家”,你有一个“小家”,我加你等于一个“大家”,家给我们希望,给我们方向,给我们安康,给我们吉祥,515国际家庭日,让我们一起爱护我们这个大家庭!2、有一个地方...

    祝福语查看全文>>
  • 暑假顶岗实习日记

    暑假顶岗实习日记怎么写呢?一起来看看小编今天的分享吧。暑假顶岗实习日记可以从三个方面进行描写,首先可以描写实习具体有哪些工作内容,第二个就是要描写在实习过程中遇到了哪些问题,第...

    教育查看全文>>
  • 车水温过高怎么处理办法

    汽车水温过高应该立即停车,并且打开引擎盖排热通风。如果是高速上行车得话,应该保持发动机空转怠速之后停车,停车后第一时间在规定位置放置三脚架,过个十几分钟之后,转速降低后排出热量...

    问答查看全文>>
  • 发动机抖动幅度多大算正常?

    发动机抖动幅度多大是没有标准的,开车时只要车一抖,就会说发动机抖动了,并且下意识觉得问题很严重。其实发动机工作时是免不了发生抖动的,只是在正常情况下,汽车发动机的抖动应该很平稳...

    问答查看全文>>
本网站部分内容、图文来自于网络,如有内容侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2007-2024 家常菜 All Rights Reserved. 手机版