Java在linux上调用shell脚本?
最近刚刚结合自己的工作实践分享了一篇Java如何调用Sh《Java配Shell等于美酒加咖啡》
在化学中,我们知道"氢加氧点燃后会生成水。
在我们的生活中,我们知道"当春天的夜晚是美丽的时候,它将是珍贵的。
Isn技术上来说是这样吗?让s假设一个场景:BOSS让你实现一个服务监控的指挥室,可以看到每台服务器的剩余磁盘空间。。。看得见。。。
其实说实话,有很多种实现,但不管黑猫白猫能抓到老鼠就是好猫。今天我们尝试用一个Shell搭配Java,看看是否会产生令人惊讶的反应。
1.首先,通过JDK源代码,品尝运行时的美酒。
上图是JDKRuntime的部分源代码,主要分为四个代码段来大致了解她。
在第一段代码中,我们可以看到运行时结构被私有化,提供静态属性,预先创建对象实例,提供静态方法获取实例。Isn这难道不是单例设计模式的使用吗?面试官再问设计图案的时候,就拿过来狂喷。
第二段代码,主要是addShutdownHook()方法,添加了一个关闭的钩子。说白了,它实际上允许开发者插入一段代码,这段代码在JVM关闭时执行。比如在构建服务框架时,在需要完成优雅的服务停止、清理战场、释放资源等情况下非常有用。在Tomcat和Jetty等容器中可以看到ShutdownHook。
运行时运行时()
(新主题(){
@覆盖
公共无效运行(){
(清理战场,释放资源,完成优雅服务)
}
})
(服务启动完成)
代码运行效果如下。
服务启动完成。
清理战场,释放资源,完成优雅服务。
第三段代码主要展示了JDK为Runtime提供的一系列exec重载方法,是本次分享的重点,亮点将在最后讨论。
第四个代码段主要是运行时提供的一些获取系统信息的API。只需抛出代码并使用它。
运行时运行时()
((JVM可用的本机CPU核心%d)
Shell脚本的作用?
Shell脚本是便于管理员设置的程序文件。
Shell脚本类似于Windows/Dos下的批处理,即预先用各种命令放入文件中的程序文件,便于一次性执行,主要是为了方便管理员设置。还是为了管理。
但它比Windows下的批处理功能更强大,比其他编程程序编辑的程序更高效。它使用Linux/Unix下的命令。
换句话说,外壳脚本是利用外壳的功能编写的程序。
这个程序使用一个纯文本文件,在里面写一些shell语法和指令,然后使用正规表示、管道命令、数据流重定向等功能,达到我们想要的处理目的。
更清楚地说,Shell脚本就像。dos时代初期的bat。最简单的功能就是把很多指令组装在一起编写,让用户在一次操作中轻松执行多个命令。
Shell脚本提供了数组、循环、条件、逻辑判断等重要功能,使用户可以直接在shell中编写程序,而不需要使用C编程语言等传统程序的语法。