第一次写Shell脚本,没经验,是直接写呢,还是要走流程( ̄▽ ̄)~*
-----------------------------------------------------------------------
总的来说分三步,下面跟我一起做
-----------------------------------------------------------------------
第一步:先创建一个文件
touch public.sh
第二步:编写脚本
#!/bin/bashecho $1#进入SVN临时目录cd /tmp/svn/repo/ideapwd#删除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#进入tomcatcd /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/shlrwxrwxrwx 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