linux封裝命令 linux封裝函數(shù)

怎么把腳本命令封裝到linux的窗口程序里面

在java程序中如何調(diào)用linux的命令?如何調(diào)用shell腳本呢?

成都創(chuàng)新互聯(lián)專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于成都做網(wǎng)站、網(wǎng)站制作、莒縣網(wǎng)絡(luò)推廣、重慶小程序開發(fā)、莒縣網(wǎng)絡(luò)營銷、莒縣企業(yè)策劃、莒縣品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);成都創(chuàng)新互聯(lián)為所有大學(xué)生創(chuàng)業(yè)者提供莒縣建站搭建服務(wù),24小時(shí)服務(wù)熱線:18982081108,官方網(wǎng)址:muchs.cn

這里不得不提到j(luò)ava的process類了。

process這個(gè)類是一個(gè)抽象類,封裝了一個(gè)進(jìn)程(你在調(diào)用linux的命令或者shell腳本就是為了執(zhí)行一個(gè)在linux下執(zhí)行的程序,所以應(yīng)該使用process類)。

process類提供了執(zhí)行從進(jìn)程輸入,執(zhí)行輸出到進(jìn)程,等待進(jìn)程完成,檢查進(jìn)程的推出狀態(tài),以及shut down掉進(jìn)程。

至于詳細(xì)的process類的介紹放在以后介紹。

另外還要注意一個(gè)類:Runtime類,Runtime類是一個(gè)與JVM運(yùn)行時(shí)環(huán)境有關(guān)的類,這個(gè)類是Singleton的。

這里用到的Runtime.getRuntime()方法是取得當(dāng)前JVM的運(yùn)行環(huán)境,也是java中唯一可以得到運(yùn)行環(huán)境的方法。(另外,Runtime的大部分方法都是實(shí)例方法,也就是說每次運(yùn)行調(diào)用的時(shí)候都需要調(diào)用到getRuntime方法)

下面說說Runtime的exec()方法,這里要注意的有一點(diǎn),就是public Process exec(String [] cmdArray, String [] envp);這個(gè)方法中cmdArray是一個(gè)執(zhí)行的命令和參數(shù)的字符串?dāng)?shù)組,數(shù)組的第一個(gè)元素是要執(zhí)行的命令往后依次都是命令的參數(shù),envp感覺應(yīng)該和C中的execve中的環(huán)境變量是一樣的,envp中使用的是name=value的方式。

下面說一下,如何使用process來調(diào)用shell腳本

例如,我需要在linux下實(shí)行l(wèi)inux命令:sh test.sh,下面就是執(zhí)行test.sh命令的方法:

這個(gè)var參數(shù)就是日期這個(gè)201102包的名字。

String shpath="/test/test.sh"; //程序路徑

Process process =null;

String command1 = “chmod 777 ” + shpath;

process = Runtime.getRuntime().exec(command1);

process.waitFor();

String var="201102"; //參數(shù)

String command2 = “/bin/sh ” + shpath + ” ” + var;

Runtime.getRuntime().exec(command2).waitFor();

如何在程序中封裝Linux命令行

操作系統(tǒng)(無論Linux還是Windows)有一種“管道”的概念,可以把一個(gè)程序的標(biāo)準(zhǔn)輸入/輸出改到其他的地方。 你說的那些GUI外殼,就是為命令行程序創(chuàng)建了一個(gè)管道,標(biāo)準(zhǔn)輸入和標(biāo)準(zhǔn)輸出被改到了GUI外殼程序的內(nèi)部。所以就不會(huì)再彈出命令行窗口了。 GUI外殼會(huì)根據(jù)你在窗口上的操作,通過管道,向命令行程序發(fā)送指令,就像你手動(dòng)在命令行窗口上敲命令一樣。 命令行程序的標(biāo)準(zhǔn)輸出也會(huì)通過管道傳送到GUI外殼的內(nèi)部,加以處理后在窗口上顯示個(gè)給你.

怎樣對(duì)linux下的命令封裝,使得可以在跟目錄下就可以執(zhí)行其他目錄下的文件?

你把要執(zhí)行文件的目錄在你說的profile里面聲明一下(路徑)。在path 加上pathmunge /home/test/out/bin/。生效指令source profile。改完后你可以用echo $PATH看看路徑是不是包含進(jìn)去了。(我這是fedora,可能不一樣)

文章標(biāo)題:linux封裝命令 linux封裝函數(shù)
新聞來源:http://muchs.cn/article2/doecsic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)、營銷型網(wǎng)站建設(shè)、虛擬主機(jī)小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

手機(jī)網(wǎng)站建設(shè)