我正在考慮在 GitHub 操作作業流中使用 Elixir 的想法,因為我認為它會成為一種優秀的 CI 語言(至少比 bash 更好)。
GitHub Actions 沒有直接的方法來執行此操作(就像使用 nodejs 一樣)。雖然有一個安裝 Elixir的操作,所以我可以訪問elixir并iex在我的作業流程的 bash 運行時中。
我想我可以做這樣的事情:
# Install Elixir
- uses: erlef/setup-beam@v1
with:
elixir-version: ${{ env.ELIXIR_VERSION }}
# Run Elixir code via bash
- run: |
elixir -e "IO.puts(1336 1)"
這行得通。但是是否可以將包含我的腳本的多行字串傳遞給elixir -e?以下不起作用:
elixir -e <<-EOT
IO.puts(68 1)
EOT
我想我可以只創建一個檔案,但對于小腳本,我覺得只在 heredoc 中管道會更干凈。
uj5u.com熱心網友回復:
由于您不想使用 elixir 的標準輸入,因此使用 here-doc 是沒有意義的。但是,您可以提供多行字串:
elixir -e 'first line
second line
third line
'
uj5u.com熱心網友回復:
我在 GitHub 操作中找到了一個解決方案,但我仍然對如何使用 heredoc 而不是單行引號字串與elixir -e.
- uses: erlef/setup-beam@v1
with:
otp-version: ${{ env.OTP_VERSION }}
elixir-version: ${{ env.ELIXIR_VERSION }}
- id: main
run: |
IO.puts(1 1)
shell: elixir -r {0}
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/496515.html
