zoukankan      html  css  js  c++  java
  • 记录一次shell脚本的使用

    此文章适合刚入门的小白,通俗易懂。大神就不用看了。哈哈。。。

    大家在使用自动化部署jenkins时,一个按钮即完成了部署。但是很多小白应该还不清楚这下按钮具体做了哪些操作。

    因为此篇文章主要讲的是shell脚本,jenkins部分就简单来说了。按下jenkins构建按钮,大概的操作流程为:编译打包—>发送到指定服务器—>执行shell脚本。

    我们先看一个shell脚本的例子。

    APP_NAME=lbccrm.jar
    
    P_ID=`ps -ef | grep java | grep $APP_NAME|awk '{print $2}'`;
    
    echo "########$SERVICE_NAME process pid is:$P_ID########"
    if [ "$P_ID" == "" ]; then
            echo "########$SERVICE_NAME process not exists or stop success########"
    else
            echo "########begin kill $SERVICE_NAME process, pid is:$P_ID########"
        kill -9 $P_ID
    fi
    
    sleep 2
    current_dir=$(cd `dirname $0`; pwd)
    echo "########current_dir is:$current_dir########"
    nohup /data/opt/jdk1.8.0_181/bin/java -jar $current_dir/$APP_NAME > $current_dir/lbccrmlog.file   2>&1 &
    echo "########$APP_NAME is success########"

    那么这个脚本具体都做了什么事呢。有些代码功底,就算没学过shell脚本的人应该也能看懂一大半。下面我就简单的来说一下,其实非常简单。

    APP_NAME=lbccrm.jar 定义变量
    P_ID=`ps -ef | grep java | grep $APP_NAME|awk '{print $2}'`; 获取我们应用程序的pid
    echo命令就是输出文本
    if [ "$P_ID" == "" ]; then
            echo "########$SERVICE_NAME process not exists or stop success########"
    else
            echo "########begin kill $SERVICE_NAME process, pid is:$P_ID########"
        kill -9 $P_ID
    fi
    意思就是查到P_ID后杀死该程序
    current_dir=$(cd `dirname $0`; pwd)获取当前目录
    nohup /data/opt/jdk1.8.0_181/bin/java -jar $current_dir/$APP_NAME > $current_dir/lbccrmlog.file   2>&1 &  重新启动程序
     
     
  • 相关阅读:
    2018
    线程的五大状态
    SQL 列转行与行转列
    python中元组(tuple)的拆包unkacping
    python字典的相关操作总结
    C语言使用typedef进行类型重定义
    C++中namespace的用法理解
    ping: unknown host 解决办法
    go环境变量配置liteide配置
    svn出现Authorization failed
  • 原文地址:https://www.cnblogs.com/feiyangbahu/p/12486401.html
Copyright © 2011-2022 走看看