1. 程式人生 > >shell命令打war包的那些事

shell命令打war包的那些事

今天偶爾,拿到自動程式碼構建編譯的shell指令碼進行war包的拉取,以前在公司裡都是把專案git拉下來,然後把相應的shell指令碼放到此專案的碟符進行點選執行!但是今天情況變了下,我把shell指令碼放到其他盤,跟專案不在一個碟符裡,這時我在編譯的時候,總是發現要麼是在專案下建立war包存放檔案,要麼在shell指令碼目錄建立存放war包檔案,這時候多測試了幾下,對比了下,發現../(代表上一級目錄)和./這種符號預設的在本碟符也就是本根目錄下進行搜尋!這是一個問題,以此寫下來,記錄!

cd G:/Users/Administrator/workspace/bugCatcher
#git pull
mvn clean install -Dmaven.test.skip=true -U

cd E:/study-document/shell
mkdir pfcase
cd G:/Users/Administrator/workspace/bugCatcher
cp ../bugCatcher/target/pfcase.war  E:/study-document/shell/pfcase/

echo done
從上面看出我使用的碟符分別為G盤和E盤,如果不想這麼麻煩,那最好將自己的shell指令碼放到專案所在的根目錄下,這樣是最好的,當我們的shell在根目錄下移動時,無需去改路徑了!

當然,上面的shell指令碼還是不太完美,還有另一種實現辦法,那就是在shell指令碼的開頭採取特定檔案指定路徑,這樣下面引用其路徑就好了!如下:

project_path=G:/Users/Administrator/workspace/bugCatcher
shell_path=E:/study-document/shell
cd $project_path
#git pull
mvn clean install -Dmaven.test.skip=true -U

cd $shell_path
mkdir pfcase
cd $project_path
cp ../bugCatcher/target/pfcase.war $shell_path/pfcase/

echo done
這樣每次移動檔案位置,就只要修改頭部路徑!