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編程語言等傳統程序的語法。