標籤:模式 targe -o shel startup webapps epo -- ide
第一次寫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。那麼這兩種方有什麼區別呢?
[[email protected] 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
【Shell】使用Shell指令碼發布項目