您的位置:首页 > 运维架构 > Shell

shell命令打war包的那些事

2018-01-31 11:00 183 查看
今天偶尔,拿到自动代码构建编译的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

这样每次移动文件位置,就只要修改头部路径!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  shell