我想从一个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)
如果我用值代替变量来执行命令就好了.
请告诉我哪里出错了.
我一直在尝试了解如何使用 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)