bash - 带有包含嵌入变量的输入的 Bash for 循环
问题描述
我正在尝试编写一个 shell 脚本,用于wget
从遵循特定数字模式的 url 批量下载文件。
可以理解,来自用户输入的 url 必须包含变量$i
。
dl.sh http://some/url/$i/some/url 1 9
这会从最终循环产生重复的结果,因为$i
将在向下传递到循环之前进行扩展。
http://some/url/9/some/url
http://some/url/9/some/url
...
http://some/url/9/some/url
有没有办法让这个 shell 脚本工作?
源代码:
#!/bin/bash
# dl.sh url | index_from | index_to
for i in $(seq $2 $3)
do
echo ${1} # replace with wget for actual download.
done
预期结果:
http://some/url/1/some/url
http://some/url/2/some/url
http://some/url/3/some/url
...
http://some/url/9/some/url
解决方案
推荐阅读
- sql - 如何有效地将 + 1 与具有数字部分的 Varchar 值相加?
- sql - 为什么在我的查询中没有使用 Pivot Clause 的订单?
- jsf - 单击每个 p:commandButton 时出现 IllegalArgumenException
- azure - 具有动态路径的 ADL 之间的 Azure 数据工厂复制
- r - proc排序,保留在R中
- typescript - 从值的排除 (?) 中键入
- amazon-web-services - 配置启动模板时,AWS Batch 作业卡住 RUNNABLE
- bazel - 是否可以将 WORKSPACE 文件拆分为多个文件?
- angular - 如何使用 Angular 应用程序的 highcharts 显示实时数据?
- prolog - 从其他谓词调用时谓词返回 false