Skip to content

Instantly share code, notes, and snippets.

@fuji44
Last active May 5, 2021 15:30
Show Gist options
  • Save fuji44/4ba6e412e253309c8fddba4486e34e2e to your computer and use it in GitHub Desktop.
Save fuji44/4ba6e412e253309c8fddba4486e34e2e to your computer and use it in GitHub Desktop.
GitHubのReleaseから最新のassetsを表示したり、ダウンロードしたりする。
## 表示
# 最新リリースのすべてのアセットファイルを表示する
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[].name'
# 最新リリースの"win"を含むアセットファイルをすべて表示する
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[] | select(.name | test("win")) | .name'
# 最新リリースの"win"を含むzipのアセットファイルをすべて表示する
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[] | select(.name | test("win.*\\.zip")) | .name'
# 最新リリースの一つ目のアセットファイルを表示する
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[0].name'
# 最新リリースの一つ目のアセットファイルのダウンロードURLを表示する
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[0].browser_download_url'
## ダウンロード
# 最新リリースの一つ目のアセットファイルをダウンロードする
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[0].browser_download_url' | xargs curl -LJO
# 最新リリースのアセットファイルをすべてダウンロードする
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[].browser_download_url' | xargs -I@ curl -LJO @
# 最新リリースの"win"を含むアセットファイルをダウンロードする
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[] | select(.name | test("win")) | .browser_download_url' | xargs -I@ curl -LJO @
# 最新リリースの"win"を含むzipのアセットファイルをすべてダウンロードする
curl -s https://api.github.com/repos/PowerShell/PowerShell/releases/latest | jq -r '.assets[] | select(.name | test("win.*\\.zip")) | .browser_download_url' | xargs -I@ curl -LJO @
@fuji44
Copy link
Author

fuji44 commented May 5, 2021

メモ

  • xargs は -p オプションを付けると実際には実行せずに実行されるコマンドを表示することができる。
  • curl の出力を省きたい場合は -s オプションを付ける。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment