我试图在jetbrains空间自动化的shellScript中使用bash变量,但没有成功。
我的.space.kts如下;
job("mvn compile"){
container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17"){
shellScript {
content = """
FOO="bar"
echo $FOO
"""
}
}
}在上面,我希望"bar“会得到回音,但是当尝试运行时,我会得到下面的错误;
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的内容中使用变量?或者,是否应该以不同的方式完成这一任务?
发布于 2022-06-02 19:18:41
您需要将$替换为${"$"}:
job("mvn compile") {
container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17") {
shellScript {
content = """
FOO="bar"
echo ${"$"}FOO
"""
}
}
}或者使用这样的sh文件file.sh:
FOO="bar"
echo $FOO。
job("mvn compile") {
container(displayName="mvn", image="maven:3.8.5-eclipse-temurin-17") {
shellScript {
content = """
./file.sh
"""
}
}
}https://stackoverflow.com/questions/72454314
复制相似问题