似乎无法在 Github 操作中定义与变量一起使用的 shell?

问题描述 投票:0回答:1

我似乎无法用变量定义应该使用哪个 shell。 我想减少代码,这就是为什么我想通过变量定义我使用的 shell。

如果我删除示例中的最后一个使用,并且只为变量创建

env
,或者它们在那里的
echo
。所以并不是变量没有设置。它们已设置。

我还没有在文档中看到类似的内容,但无法设置 bash 的变量是有道理的。

带有失败的 Github 操作日志的原始代码

有谁知道如何使其更加动态吗?

jobs:
  regular:
    strategy:
      matrix:
        os: [ macos, ubuntu, windows]
      fail-fast: false # Allows to see results from other combinations
    runs-on: ${{ matrix.os }}-latest
    steps:
      - uses: actions/checkout@692973e3d937129bcbf40652eb9f2f61becf3332 # v4.1.7
    ......
      - name: Set OS-specific variables for Windows
        if: matrix.os == 'windows'
        run: |
          echo "OS_PATH=windows" >> $GITHUB_ENV
          echo "OS_FILE_EXTENSION=ps" >> $GITHUB_ENV
          echo "OS_SHELL=pwsh" >> $GITHUB_ENV
        shell: bash

      - name: Set OS-specific variables for macOS and Ubuntu
        if: matrix.os != 'windows'
        run: |
          echo "OS_PATH=linux_mac" >> $GITHUB_ENV
          echo "OS_FILE_EXTENSION=sh" >> $GITHUB_ENV
          echo "OS_SHELL=bash" >> $GITHUB_ENV
        shell: bash

      - name: print out vars
        id: printOutVars
        shell: bash
        run: env
      - name: test echo
        run: |
          echo ${{ env.OS_PATH }}
          echo ${{ env.OS_SHELL }}
          echo ${{ env.OS_FILE_EXTENSION }}
        shell: bash
      - name: Download Issues with end limit
        id: normalIssuesWithEndLimit
        run: ./${{ env.OS_PATH }}/magpi-issue-downloader.${{ env.OS_FILE_EXTENSION }} -l 2
        shell: ${{ env.OS_SHELL }}
github yaml github-actions
1个回答
0
投票

看来,这是不可能的。 而且:它无论如何都会自动使用正确的 shell,linux 下使用 bash,windows 下使用 powershell。所以这对我来说就足够了。

© www.soinside.com 2019 - 2024. All rights reserved.