调用方式
Java调用linux命令执行的方式有两种,一种是直接调用linux命令,一种是将linux命令写到.sh脚本中,然后调用脚本执行 。
详细说明
直接调用:使用java中lang包下面的类和类,其中类中的.().exec(linux )方法可以直接执行linux命令,而类可以接收.().exec()类的返回值,并提供了()方法和()方法,()方法的作用在于等待此执行完成后再执行后面的内容,()方法作用在于销毁 。如下程序所示为将路径下的所有文件打包成zip压缩包,使用的方法为直接调用 。
文章插图
调用shell脚本:直接调用方法存在一些弊端,比如复杂命令不好实现、有些命令莫名其妙实现不了等 。因此我推荐使用调用shell脚本的方式实现linux命令 。具体实现方法为:首先将命令写在shell脚本(.sh)中,然后在.().exec()中调用“sh path/.sh”,其中path为shell脚本的路径 。很多情况下我们需要循环调用相同的linux命令来实现我们的功能,此时需要向linux命令中传递参数,实现案例如下所示:
其中imp.sh中的命令如下所示:
文章插图
1 name=$1
2 su --c "imp [] file= full=y =y"
该语句实现的功能为在root用户下,切换到目录,并将某个.dmp文件使用imp命令导入数据库,然后返回到root用户下,将该语句放到for循环中实现了多个.dmp文件导入数据库的功能 。其中.dmp文件的文件名是变量,在shell命令中以name=$1代替,在linux命令中以${name}代指文件名,在调用时传入该参数的值,linux命令中$1,$2…$n是占位变量,在使用变量时按顺序使用,赋值时按照相应的顺序进行赋值 。
【java执行linux命令 su_Java调用Linux命令执行】原文:
- Java中加密算法介绍及其实现
- 宝塔+linux+漏洞,最近非常火的宝塔漏洞 888端口的入侵
- java学习笔记2--面向对象编程
- java中静态块的作用,调用顺序和使用方法
- 一 微信公众平台开发JAVA验证来自微信服务器的消息
- 4 零基础学java---方法method
- linux利用管道实现进程通信,Linux通过匿名管道进行进程间通信
- linux显示文件名都是黑框框,ubuntu系统字符全部变成方框的解决办法
- 个人理解总结 Linux系统编程之进程
- 【java300】迈向成熟程序员的第一步,用java实现Hello,World