话不多说直接上代码:
cd /home/javaProduct/if [ -d '/home/javaProduct/lib_new/' ]; thenecho 'Has New Lib!'echo '--------------Begin Stop JavaService----------------'edocid=$(jps |grep JavaService | awk '{print $1}')echo $edocidkill -9 $edocidecho '--------------Begin Move Lib------------------------'mv /home/javaProduct/lib/ /home/javaProduct/lib_prevecho '--------------End Move Lib--------------------------'echo '--------------Begin Move Lib_New--------------------'mv /home/javaProduct/lib_new/ /home/javaProduct/lib/echo '--------------End Move Lib_New----------------------'echo '--------------Begin Start Service-------------------'nohup ./appServer.sh startecho '--------------End Start Service---------------------'echo '--------------Begin Move Lib_Prev-------------------'time2=$(date "+%Y%m%d%H%M%S")hislib1='/home/javaProduct/lib_'hislib2=$hislib1$time2mv /home/javaProduct/lib_prev/ $hislib2echo '--------------End Move Lib_Prev---------------------'echo '--------------End Stop JavaService------------------'elseecho 'No Lib_New'fi
另外这里还要提到dos2unix来将windows编写shell脚本转换为Linux的,要不上传上去不能用。
由于在DOS(windows系统)下,文本文件的换行符为CRLF,而在Linux下换行符为LF,使用git进行代码管理时,git会自动进行CRLF和LF之间的转换,这个我们不用操心。而有时候,我们需要将windows下的文件上传到linux上,例如shell脚本,执行的时候有时会出现奇怪的问题,这时候,就需要安装dos2unix软件,centos下:
yum install -y dos2unix
安装完成后,对文件进行转换
dos2unix abc.sh
现在执行就不会出问题了