首页 > 解决方案 > “/bin/bash : - : Invalid option” 与 gitlab-CI 和 makefile 与 .ONESHELL

问题描述

我有一个与 gitlab-CI 配合使用的 CI。

我的(YAML gitlab-CI)管道脚本调用生成文件。

Build:
  stage: ThisIsAnExample
  script: 
    - export OPTION1=true; make -C build/ myTarget

在我的 makefile 中,我有以下选项 .ONESHELL 选项:

.ONESHELL:
SHELL = /bin/bash
.SHELLFLAGS = -ec -o pipefail

myTarget:
    @echo "A";echo ""; print "B\n";  echo "C";  echo "";

这在本地有效,但在 CI 中失败并出现错误/bin/bash: - : invalid option

如果我删除-o pipefail,错误会在 CI 中修复(但我没有更多的管道故障)。

有什么提示可以让它在 CI 中工作吗?

笔记:

标签: bashmakefilegitlab-ci

解决方案


推荐阅读