首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jetbrains空间shellScript变量

Jetbrains空间shellScript变量
EN

Stack Overflow用户
提问于 2022-05-31 21:29:56
回答 1查看 135关注 0票数 2

我试图在jetbrains空间自动化的shellScript中使用bash变量,但没有成功。

我的.space.kts如下;

代码语言:javascript
复制
job("mvn compile"){
    container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17"){

        shellScript {
            content = """
                FOO="bar"
                echo $FOO
            """
        }
    }
}

在上面,我希望"bar“会得到回音,但是当尝试运行时,我会得到下面的错误;

代码语言:javascript
复制
Dsl file '/tmp/16487320722162400386/.space.kts' downloaded in 1736 ms
Compiling DSL script /tmp/16487320722162400386/.space.kts...
downloading /home/pipelines-config-dsl-compile-container/space-automation-runtime.jar ...
    [SUCCESSFUL ] com.jetbrains#space-automation-runtime;1.1.100932!space-automation-runtime.jar (71ms)
Compilation failed in 8.652797664s.
ERROR Unresolved reference: FOO (.space.kts:9:23)
Cleaned up the output folder: /tmp/16487320722162400386
DSL processing failed: Compilation exited with non zero exit code: 2. Exit code: 102

我曾计划从JB_SPACE_GIT_BRANCH解析分支名称,并将其存储在一个变量中,以便在调用mvn时使用Jib构建和标记容器。

我是否可以在shellScript的内容中使用变量?或者,是否应该以不同的方式完成这一任务?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-02 19:18:41

您需要将$替换为${"$"}:

代码语言:javascript
复制
job("mvn compile") {
  container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17") {
      shellScript {
          content = """
              FOO="bar"
              echo ${"$"}FOO
          """
      }
  }
}

或者使用这样的sh文件file.sh:

代码语言:javascript
复制
FOO="bar"
echo $FOO

代码语言:javascript
复制
job("mvn compile") {
  container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17") {
      shellScript {
          content = """
              ./file.sh
          """
      }
  }
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72454314

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档