You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Bash脚本执行wget时URL嵌入用户输入变量的写法求助

脚本错误点
  • 核心语法错误:Bash变量赋值时=两侧严禁加空格,你写的URL= "https://gz.blockchair.com/ethereum/blocks/"会被解析为「临时设置环境变量URL为空,执行后面的URL字符串作为命令」,运行直接报command not found。
  • 通配符逻辑错误:双引号包裹范围内的*会被识别为普通星号字符,不会做通配匹配;且wget本身不支持直接在URL路径中写*匹配远程服务器文件,直接写会返回404。
  • 隐性匹配错误:Blockchair的文件命名中月份固定为两位格式(比如1月对应01),如果输入单数字月份(比如输入1)会匹配不到资源。
紧急修复可直接运行版本

距离交付只剩20分钟直接全量替换你的脚本内容即可,不需要额外调整:

read -r -p "Month?(输入1-12数字): " month
read -r -p "Year?(输入四位年份如2024): " year

# 自动给单数字月份补前导零,适配文件命名规则
printf -v month "%02d" "$month"
URL="https://gz.blockchair.com/ethereum/blocks/"

wget -w 2 --limit-rate=20k -r -np -nH --cut-dirs=3 -A "blockchair_ethereum_blocks_${year}${month}*.tsv.gz" "$URL"
exit
新增wget参数说明(不用修改,直接用即可)
  • -r:开启递归遍历目录,支持批量匹配符合规则的文件
  • -np:禁止向上遍历父目录,不会爬取无关路径的内容
  • -nH --cut-dirs=3:取消自动创建的多层嵌套目录,文件直接保存在当前执行脚本的文件夹下
  • -A:指定文件名白名单,仅下载文件名匹配对应年月规则的.tsv.gz压缩包,不会拉取无关资源

内容的提问来源于stack exchange,提问作者nyetrying

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 03:27:20