我需要从本地文件里读取文本,一般在bash执行cat ./fileName
就行了,于是我就想当然
echo "FILE_TEXT=$(cat ./file.txt)" >> $GITHUB_ENV
然后就如下报错了
Error: Unable to process file command 'env' successfully.
Error: Invalid environment variable format 'xxxxxxxxxx... '
原因是因为设置$GITHUB_ENV
环境变量不支持多行文本的直接设置,得加EOF
才行
如下这样设置就可以了
name: "读取文本"
run: |
echo 'FILE_TEXT<<EOF' >> $GITHUB_ENV
cat ./file.txt >> $GITHUB_ENV
echo 'EOF' >> $GITHUB_ENV
run: |
是运行多行shell命令,此步骤内可以获取到局部变量,需要跨步骤取值的必须得写到 $GITHUB_ENV
里去,然后读取方式如下即可:
${{env.FILE_TEXT}}