首页 > 代码库 > 【Shell】使用Shell脚本发布项目

【Shell】使用Shell脚本发布项目

第一次写Shell脚本,没经验,是直接写呢,还是要走流程( ̄▽ ̄)~*

-----------------------------------------------------------------------

总的来说分三步,下面跟我一起做

-----------------------------------------------------------------------

第一步:先创建一个文件

touch public.sh

 

第二步:编写脚本

#!/bin/bash

echo $1

#进入SVN临时目录
cd /tmp/svn/repo/idea
pwd
#删除SVN项目
rm -rf $1
#更新SVN项目
svn co svn://localhost/repo/idea/$1
#复制war包到项目
cp -rf ${1}/target/${1}.war /usr/local/data/$1/tomcat/webapps

#进入tomcat
cd /usr/local/data/$1/tomcat
#停止tomcat
./bin/shutdown.sh
#删除ROOT下文件
rm -rf webapps/ROOT/*
#解压项目war包
unzip -o webapps/$1.war -d webapps/ROOT
#启动tomcat
./bin/startup.sh
#显示tomcat启动信息
tail -f logs/catalina.out

知识点:

1.#!/bin/bash:这句话用来定义使用哪种sh解释器来解释脚本,目前有两种,还有一种时#!/bin/sh。那么这两种方有什么区别呢?

[root@Ping bin]# ll /bin/sh
lrwxrwxrwx 1 root root 4 Mar 22 15:11 /bin/sh -> bash

通过以上可以看到sh一般设成bash的软链, 在一般的linux系统当中(如redhat),使用sh调用执行脚本相当于打开了bash的POSIX标准模式, 也就是说 /bin/sh 相当于 /bin/bash --posix。

2.echo $1:echo用来在街面上打印,$1代表传入的第一个参数

 

第三步:执行shell脚本

sh publish.sh hospital

课外话题:

1.如果想要向启动tomcal一样使用 ./startup.sh 启动那么需要在执行脚本前,先执行一下命令

chmod +x publish.sh

2.还记得上面的第一行大明湖畔的 #!/bin/bash 吗?如果执行下面这条命令,就可以不要它了

bash public.sh

 

【Shell】使用Shell脚本发布项目