我浏览了几个例子,但找不到我需要的。我正在尝试将我正在下载的文件的名称动态分配给变量,以便以后可以引用它。我必须保留原始文件名,因为它是硬编码在 sha256 校验和文件中的,我随后将使用该文件来验证文件完整性。
URL="https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=xxxxxxxxxxxx&suffix=zip"
curl -s -J "$URL"
显然我不能直接去:filename=$(curl -s -J "$URL")
因为那样只会分配文件内容。
有什么指点吗?
答案1
我使用变量找出了解决方案curl --write-out
:
# filename=$(curl -s -O -J -w '%{filename_effective}' "https://download.maxmind.com/app/geoip_download?edition_id=GeoLite2-Country-CSV&license_key=xxxxxxxxxx&suffix=zip" | awk {'print $1'})
# echo $filename
GeoLite2-Country-CSV_20220329.zip