我正在尝试从一系列 URL 中获取文件。以下是我的 bash 脚本

for i in {1..171}
do
    wget --mirror --random-wait -R gif,jpg,pdf  "http://www.example.com/member/members-directory/?mode=paging&Keyword=&Type=&pg="$i
done

它只是下载一页。

但我开始在我的终端上看到
Last-modified header missing -- time-stamps turned off.
2013-11-16 11:56:06 (34.2 KB/s) - `www.example.com/member/members-directory/index.html?mode=paging&Keyword=&Type=&pg={1..171}' saved [31073]

但作为输出,我得到的只是一页。

最佳答案

让我猜猜,它只下载页面 http://www.example.com/member/members-directory/?mode=paging&Keyword=&Type=&pg={1..171} ?也就是说,没有正确扩展 {1..171}

请记住,{N..M} 样式序列生成仅适用于 bash,通常不适用于 sh。因此,如果您的脚本的shebang 是 #!/bin/sh ,请尝试将其更改为 #!/bin/bash

关于bash - "for i in {1..171}"形式的循环不起作用(仅循环一次,使用 i ='{1..171}' ),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20015611/

10-13 09:00