Jenkins自动添加'+'符号导致命令执行失败求助
Jenkins控制台命令前出现+号的原因及解决办法
这个命令行前的+符号和你查的PS1环境变量没关系,它是bash开启调试跟踪模式(set -x)时的输出特征——bash会把即将执行的命令行以+开头打印到标准错误流,用来帮你追踪脚本执行流程。
为什么Jenkins里会出现这个?
- 你的构建脚本里主动加了
set -x命令,手动开启了调试跟踪 - Jenkins的「Execute Shell」构建步骤中,可能勾选了类似「打印执行的命令」(不同版本命名可能有差异,比如"Print commands to stdout")的选项,Jenkins会自动给你的脚本加上
set -x - 部分Jenkins插件或全局Shell配置强制开启了命令跟踪功能
怎么处理?
- 检查构建脚本,找到
set -x语句,不需要调试的话直接删掉,或者在不需要跟踪的代码段前加set +x关闭调试 - 打开对应构建任务的配置,找到Execute Shell步骤,取消勾选打印命令的选项
- 如果是全局配置导致的,进入Jenkins全局设置,找到Shell执行相关的配置项,关闭命令跟踪输出
内容的提问来源于stack exchange,提问作者kayc
相关产品推荐
相关产品推荐

