解决Jenkins 运行shell脚本是报错,/bin/sh: line 1: allure: command not found

解决Jenkins 运行shell脚本是报错,/bin/sh: line 1: allure: command not found

本地执行shell命令成功,Jenkins 远程执行 shell命令有时 提示命令找不到,或者make的时候报错。

因为Jenkins执行shell时无法获取环境变量的原因导致

解决办法在shell脚本上加上环境变量如:

复制代码
#!/bin/bash
source ~/.bash_profile
source /etc/profile

在shell脚本里面添加了后,Jenkins就能正常的运行shell脚本;

第二种解决办法:

本机shell命令可以执行,jenkins任务中无法执行,则是jenkins没有加载/etc/profile导致,需要在jenkins调用shell脚本的最前面加一行脚本,#!/bin/bash -ilex,可以通过-i参数和-l参数让bash为login shell and interactive shell,就可以读取/etc/profile和~/.bash_profile等文件

shell脚本:

#!/bin/bash -ilex

相关推荐
Cynthia的梦3 分钟前
Linux学习-Linux进程间通信(IPC)聊天程序实践指南
linux·运维·学习
安顾里2 小时前
Linux命令-tar
linux·运维·服务器
沐土Arvin2 小时前
Nginx 核心配置详解与性能优化最佳实践
运维·开发语言·前端·nginx·性能优化
有莘不破呀2 小时前
服务器磁盘卷组缓存cache设置介绍
linux·运维·服务器
DBWYX2 小时前
gcc 链接顺序,静态库循环依赖问题
linux·运维·服务器
叶辰 .2 小时前
ES使用聚合aggregations实战(2025.04.02更新)
大数据·elasticsearch·jenkins
zxsz_com_cn3 小时前
风电行业预测性维护解决方案:AIoT驱动下的风机健康管理革命
大数据·运维·人工智能
我们的五年3 小时前
【Linux系统】进程间通信-System V消息队列
linux·运维·服务器·c++
island13143 小时前
【Linux网络#18】:深入理解select多路转接:传统I/O复用的基石
linux·运维·数据库
GodGump5 小时前
dbgpt7.0 docker部署
运维·docker·容器