如何解决jenkins 执行shell脚本 sh: ... not found的问题

 更新时间:2023年06月03日 09:14:11   作者:一片三叶草  
这篇文章主要介绍了如何解决jenkins 执行shell脚本 sh: ... not found的问题,具有很好的参考价值,希望对大家有所帮助。

jenkins 执行shell脚本 sh: ... not found

最近在玩jenkins的时候出现了以下问题,两次遇到这种问题,所以记录一下

这是因为没有带上系统的环境变量。

只有在 shell中第一行加上这句话:#!/bin/bash -ilex

Jenkins执行脚本文件

Jenkins执行脚本文件如下(startup.sh):

#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
export JAVA_HOME=/usr/src/java/jdk1.8.0_201
APP_NAME=school-rest-1.0.0-SNAPSHOT.jar
FULL_PATH=/usr/data/school-rest/school-rest-1.0.0-SNAPSHOT.jar
#启动方法
start(){
    pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
          if [ "$pid" ]; then
        echo "$APP_NAME is already running. pid=$pid ."
    else
        nohup $JAVA_HOME/bin/java -jar $FULL_PATH --spring.profiles.active=dev >> catalina.out 2>&1 &
                echo $!
        echo "$APP_NAME now is running"
    fi
}
#停止方法
stop(){
    pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
    if [ "$pid" ]; then
        kill -9 $pid
        echo "Pid:$pid stopped"
    else
        echo "$APP_NAME is not running"
    fi
}
#输出运行状态
status(){
    pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}'`
    if [ "$pid" ]; then
        echo "$APP_NAME is running. Pid is ${pid}"
    else
        echo "$APP_NAME is NOT running."
    fi
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    restart)
        stop
        sleep 5
        start
        ;;
    *)
        echo "Usage:{start|stop|status|restart}"
        ;;
esac
exit 0

只需要在jenkins指定执行文件即可:

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Nginx和PHP-FPM的启动、重启、停止脚本分享

    Nginx和PHP-FPM的启动、重启、停止脚本分享

    这篇文章主要介绍了Nginx和PHP-FPM的启动、重启、停止脚本分享,脚本中包含start、stop、reload、restart等常用的管理方法,并可以加入系统服务然后使用servicem命令管理,需要的朋友可以参考下
    2014-12-12
  • Shell动态生成数组的多种方法

    Shell动态生成数组的多种方法

    这篇文章主要介绍了Shell动态生成数组的多种方法,本文给出while循环法和for循环法,以及使用seq生成数组法,需要的朋友可以参考下
    2015-07-07
  • 一张图让你学会Vim编辑器快捷键

    一张图让你学会Vim编辑器快捷键

    今天小编就为大家分享一篇一张图让你学会Vim编辑器快捷键,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • bash shell中的if-then语句

    bash shell中的if-then语句

    bash shell的 if 语句会运行 if 后面的那个命令,如果该命令的退出状态码是0,位于 then 部分的命令就会被执行,这篇文章主要介绍了bash shell中的if-then语句,需要的朋友可以参考下
    2023-12-12
  • 关于Linux之grep查找文本时匹配反斜杠\转义问题

    关于Linux之grep查找文本时匹配反斜杠\转义问题

    在Linux系统中,当文本中有反斜杠 , 需要使用grep查找出带有反斜杠的内容,接下来通过本文给大家讲解Linux之grep查找文本时匹配反斜杠\转义问题,需要的朋友可以参考下
    2022-10-10
  • 详解Shell cut用法

    详解Shell cut用法

    cut是一个选取命令,就是将一段数据经过分析,取出我们想要的。一般来说,选取信息通常是针对“行”来进行分析的,并不是整篇信息分析的。本文重点给大家介绍Shell cut用法,感兴趣的朋友一起看看吧
    2017-10-10
  • nginx日志切割脚本分享

    nginx日志切割脚本分享

    nginx日志太大怎么办,只有分割一下了,这篇文章就介绍了一下nginx日志切割脚本,需要的朋友可以参考下
    2014-03-03
  • Linux traceroute命令使用方法实例详解

    Linux traceroute命令使用方法实例详解

    这篇文章主要介绍了Linux traceroute命令使用方法实例详解的相关资料,希望通过本文能帮助到大家,让大家理解应用这部分内容, 需要的朋友可以参考下
    2017-10-10
  • Impala-shell命令参数的实现

    Impala-shell命令参数的实现

    这篇文章主要介绍了Impala-shell命令参数的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • 写一个shell脚本实现视频处理

    写一个shell脚本实现视频处理

    Linux和Unix都拥有很多能够处理图像和视频文件的应用程序和工具,下面这篇文章主要给大家介绍了关于如何写一个shell脚本来实现视频处理的相关资料,需要的朋友可以参考下
    2022-07-07

最新评论