`printenv` 中未显示环境变量
Env variables not showing in `printenv`
(添加了 bash 和终端标签,因为我不确定我的问题是否特定于 Github 操作,或者是否是对环境变量如何更普遍地工作的误解)
我正在研究 workflow.yml,在“sql 脚本中的环境替换”步骤中,我正在尝试设置一些环境变量:
on: [push]
env:
GAME: "FunGame"
TRAIN_HORIZON: 7
jobs:
ssql:
runs-on: ubuntu-latest
name: Get data
steps:
- name: Checkout cum-rev repo
uses: actions/checkout@v2 # Defaults to current repo - check out current repo
- name: Checkout ds-ssql-gh-action
uses: actions/checkout@v2
with:
repository: ourorg/ds-ssql-gh-action
token: ${{ secrets.cumrev_workflow_token }}
ref: main
path: './ds-ssql-gh-action'
- name: Env substitue in sql script
run: |
INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
echo "Here is install date $INSTALL_DATE"
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
envsubst < get-data/training-data.sql
cat get-data/training-data.sql
printenv
推送此作业后,作业会尝试 运行。我 printenv
在底部,当我看到环境变量时,我没有看到任何 INSTALL_DATE
、IOS_GAME
或 ANDROID_GAME
.
为什么没有使用以下行设置这些环境变量:
INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
echo "Here is install date $INSTALL_DATE"
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
注意行 echo "Here is install date $INSTALL_DATE"
确实按预期打印出正确的值。但是当我 运行 printenv
?
时它没有显示
您必须导出要在环境中看到的变量:
export INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
...
(添加了 bash 和终端标签,因为我不确定我的问题是否特定于 Github 操作,或者是否是对环境变量如何更普遍地工作的误解)
我正在研究 workflow.yml,在“sql 脚本中的环境替换”步骤中,我正在尝试设置一些环境变量:
on: [push]
env:
GAME: "FunGame"
TRAIN_HORIZON: 7
jobs:
ssql:
runs-on: ubuntu-latest
name: Get data
steps:
- name: Checkout cum-rev repo
uses: actions/checkout@v2 # Defaults to current repo - check out current repo
- name: Checkout ds-ssql-gh-action
uses: actions/checkout@v2
with:
repository: ourorg/ds-ssql-gh-action
token: ${{ secrets.cumrev_workflow_token }}
ref: main
path: './ds-ssql-gh-action'
- name: Env substitue in sql script
run: |
INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
echo "Here is install date $INSTALL_DATE"
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
envsubst < get-data/training-data.sql
cat get-data/training-data.sql
printenv
推送此作业后,作业会尝试 运行。我 printenv
在底部,当我看到环境变量时,我没有看到任何 INSTALL_DATE
、IOS_GAME
或 ANDROID_GAME
.
为什么没有使用以下行设置这些环境变量:
INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
echo "Here is install date $INSTALL_DATE"
IOS_GAME="${{ env.GAME }}_IOS_PROD"
ANDROID_GAME="${{ env.GAME }}_ANDROID_PROD"
注意行 echo "Here is install date $INSTALL_DATE"
确实按预期打印出正确的值。但是当我 运行 printenv
?
您必须导出要在环境中看到的变量:
export INSTALL_DATE=$(date -d "`date +%Y%m01` -12 month" +%Y-%m-%d)
...