为了使多字字符串成功传递到生成的 GitHub 版本的描述中,下面的 GitHub 工作流程中的 CLI 命令-f body=$DESCRIPTION
标志中具体需要更改哪些内容?gh api
"Lots of new stuff"
我们当前遇到的问题是该"Lots of new stuff"
字符串会导致错误,指出body
需要 1 个参数,但收到了 4 个参数。
当我们将单个单词字符串传递到同一工作流程中时,它会成功运行,不会出现错误。
当我们将body
标志更改为 read时-f body='$DESCRIPTION'
,发布的结果描述将呈现为$DESCRIPTION
。
工作流程代码:
name: release-manually
on:
workflow_dispatch:
inputs:
version:
description: 'Version'
required: true
type: string
description:
description: 'Description of release'
required: true
type: string
jobs:
release-a-version:
runs-on: ubuntu-latest
steps:
- shell: bash
name: Release
env:
DESCRIPTION: ${{ inputs.description }}
VERSION: ${{ inputs.version }}
GH_TOKEN: ${{ secrets.GIT_PAT }}
run: |
vers="_linux_"$VERSION
echo "About to print version"
echo $vers
nameOfRelease="release_name"$vers
echo "About to print name of release"
echo $nameOfRelease
echo "About to create release"
gh api \
--method POST \
-H "Accept: application/vnd.github+json" \
/repos/AccountName/RepoName/releases \
-f tag_name=$vers \
-f target_commitish='branch-name' \
-f name=$nameOfRelease \
-f body=$DESCRIPTION \
-F draft=false \
-F prerelease=false \
-F generate_release_notes=false
答案1
我认为这个问题不会让我学到新东西,我纠正了。
首先,我认为这个问题可以被标记为重复的引号的解释正如@rugk 所说据说是重复的 stackoverflow 问题。
现在有趣的部分是我不知道有什么功能与VAR=$'hello\nworld'
以下内容完全相同:
VAR='hello
world'
使用-f body="$DESCRIPTION"
,你应该没问题。另请浏览上面的链接,也许看看参数扩展以及一个透彻的理解。