カールを使用してファイル名とパスが可変のGithubファイルダウンロードスクリプトを作成する

カールを使用してファイル名とパスが可変のGithubファイルダウンロードスクリプトを作成する

インストールスクリプトを作成する必要があります。デジタル海コマンドラインインターフェイス文書「ツールジタブ使用カールしかし、問題があります。ファイル名はバージョン番号によって変更されるため、ハードコーディングでは新しいバージョンがリリースされるたびにスクリプトを編集する必要があるため、自動化ポイント全体が無効になります。

変数ディレクトリとファイル名へのパスに単にアスタリスク(または一部では「アスタリスク」と呼ばれる)を使用することは機能しません。

私が使うべきパス:

https://github.com/digitalocean/doctl/releases/download/v1.15.0/doctl-1.15.0-linux-amd64.tar.gz

ご覧のとおり、ファイルがあるディレクトリもバージョン番号によって異なります。

私は問題を解決する方法を示しますが、それは最もエレガントな解決策ではないかもしれません。もっと簡単なものがあれば共有してください!

ベストアンサー1

以前と同じように実行しますcurl -sL(進行状況バーを削除してリダイレクトに従ってください)、最新のlinux-amd64バージョンのURLを提供してください。

curl -sL "$(curl -L -s https://api.github.com/repos/digitalocean/doctl/releases/latest |
  jq -r '.assets[] | select(.name | contains("-linux-amd64.tar.gz")).browser_download_url')" |
    tar -xzv

内部コマンド置換はgithub APIに最新バージョンのリポジトリを要求し、その名前に対応するjq文字列を含む要素をパイプし-linux-amd64.tar.gzてダウンロードURLを返します。

おすすめ記事