相关疑难解决方法(0)

在Bash中的命令中扩展变量在单引号内

我想从一个bash shell脚本运行一个命令,该脚本在单引号和变量中有单引号和一些其他命令.

例如 repo forall -c '....$variable'

在此格式中,$进行转义并且不扩展变量.

我尝试了以下变化,但他们被拒绝了:

repo forall -c '...."$variable" '

repo forall -c " '....$variable' "

" repo forall -c '....$variable' "

repo forall -c "'" ....$variable "'"
Run Code Online (Sandbox Code Playgroud)

如果我用值代替变量来执行命令就好了.

请告诉我哪里出错了.

variables bash shell quotes

344
推荐指数
3
解决办法
31万
查看次数

获取 github.rest.issues.createComment() 以使用环境变量进行多行注释

我一直在尝试了解如何使用 github actions 将多行评论写入 PR。我试图使用 github.rest.issues.createComment() (如评论拉取请求...中所示),然后使用环境变量处理多行问题,如下所示:工作流命令。最终目标是从 python 脚本(或日志文件)中获取一些多行输出标准输出,并将其作为注释放回到正在运行的工作流的 PR。下面的 yml 文件运行良好,直到最后一步,我尝试访问我创建的环境变量并将其用作 createComment() 的主体。环境变量已创建并且似乎可用,但当我尝试将其用于评论正文时失败。来自 github 操作的错误位于代码下方。如果我像这样添加引号,body: "${{env.SCRIPT_OUTPUT}}"我会得到同样的错误。如果可能的话,我想使用 createComment() ,我知道 Peter Evans 有一个创建评论,我接下来可能会尝试,但试图理解为什么这不起作用。

name: GitHub Actions Test Multi-line
on:
  pull_request:
    branches:
      - Dev
jobs:
  Run-check-references:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
        with:
          fetch-depth: 0
      - run: |
          SCRIPT_OUTPUT=$(cat << EOF
          first line
          second line
          third line
          EOF
          )
          echo "SCRIPT_OUTPUT<<EOF" >> $GITHUB_ENV
          echo "$SCRIPT_OUTPUT" >> $GITHUB_ENV
          echo "EOF" >> $GITHUB_ENV
      - run: |
          echo "${{env.SCRIPT_OUTPUT}}" …
Run Code Online (Sandbox Code Playgroud)

yaml pull-request github-actions

3
推荐指数
1
解决办法
6595
查看次数

标签 统计

bash ×1

github-actions ×1

pull-request ×1

quotes ×1

shell ×1

variables ×1

yaml ×1