首页 > 解决方案 > 将环境变量从 shell 脚本传递到 .dat 文件

问题描述

从 jenkins 文件中,我调用了一个 shell 脚本并传递了三个环境变量。下面是我的shell脚本

workspace=${2}
build_no=${1}
branch_name=${3}

echo Generatig Javadoc files
"${JDK_HOME}/bin/javadoc" -classpath ${PLANNING_HOME}/lib/Jersey/jersey-core.jar -sourcepath "${PLANNING_HOME}/src" -windowtitle "Oracle Enterprise Performance Management Cloud, Groovy Rules" -header "Oracle Enterprise Performance Management Cloud, Groovy Rules Java API Reference" -bottom "Copyright © 2017, 2020, Oracle and/or its affiliates. All rights reserved." -overview ${workspace}/planning/build/groovy-overview.html -public -nodeprecated -d "/net/slcnas502.us.oracle.com/export/EPM_Planning/PlanningDev/Buzz/tmp_pre_rel/Planning/builds/${branch_name}/${build_no}/javadocgroovy" @${workspace}/planning/build/jdocgroovyfiles_ux.dat

我在 shell 脚本中使用 jdocgroovyfiles_ux.dat 文件。我想在 .dat 文件中使用环境变量工作区,但它不起作用。

${workspace}/planning/HspJS/src/oracle/epm/api/GroovyDynamicLocalizedException.java
${workspace}/planning/HspJS/src/oracle/epm/api/GroovyMessageBundle.java

如何在 jdocgroovyfiles_ux.dat 中使用 worspace 变量

标签: linuxshellsh

解决方案


代替 :

@${workspace}/planning/build/jdocgroovyfiles_ux.dat

尝试 :

@<(workspace="$workspace" envsubst < "${workspace}/planning/build/jdocgroovyfiles_ux.dat")

假设您使用的是 bash。

要解决命令行问题,请运行以下命令:

workspace=/scratch/pqsharma/jenkins/workspace/Planning_develop
cat <(workspace="$workspace" envsubst < "${workspace}/planning/build/jdocgroovyfiles_ux.dat")

推荐阅读