今天在工作中,需要寫(xiě)一個(gè)shell腳本,啟動(dòng)一個(gè)socket程序,從而模擬短信網(wǎng)關(guān)。查了一些資料,終于搞定了,現在記錄一下,方便大家查閱。
為了說(shuō)明使用方法,我們就用最簡(jiǎn)單的程序來(lái)實(shí)現,比如我們要運行下面這個(gè)類(lèi)的main方法
package chb.cmd.test;import java.io.File;import java.io.IOException;import org.apache.log4j.Logger;public class TestClass ...{static Logger log = Logger.getLogger(TestClass.class);/** *//*** @param args*/public static void main(String[] args) ...{log.debug(args[0]);File file = new File(args[0]);try ...{file.createNewFile();} catch (IOException e) ...{e.printStackTrace();}}}
我們需要把這個(gè)類(lèi)所在的project打成jar包,比如叫做:cmdDemo.jar,然后把cmdDemo.jar和該工程所需要的所有jar包放到一起,比如我的目錄是:D:/cmdDemo/lib。
以下要寫(xiě)腳本文件,我們分為兩個(gè)部分,windows和linux。
一.windows
在windows下就是要寫(xiě)大家熟悉的bat文件,例如我在D:/cmdDemo/lib下新建一個(gè)start.bat,內容如下:
java -classpath D:/cmdDemo/lib/log4j-1.2.14.jar;D:/cmdDemo/lib/cmdDemo.jar chb.cmd.test.TestClass D:/cmdDemo/test.txt
然后雙擊該bat文件,就會(huì )發(fā)現在D:/cmdDemo目錄下多了個(gè)test.txt文件。
二.linux
在linux下需要新建一個(gè)sh腳本,基本寫(xiě)法和在windows下一樣,唯一區別是在windows下各個(gè)jar包之間的分隔符是";",而在linux下各個(gè)jar包之間的分隔符是":"。
java -classpath /root/cmdDemo/lib/log4j-1.2.14.jar:/root/cmdDemo/lib/cmdDemo.jar chb.cmd.test.TestClass /root/cmdDemo/test.txt
然后運行這個(gè)腳本文件就ok了,如果沒(méi)有權限的話(huà),記得使用
chmod +x start.sh恩,好了,雖然很簡(jiǎn)單,但是還是希望能夠幫助大家。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1670775
聯(lián)系客服