The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]




Версия для распечатки Пред. тема | След. тема
Новые ответы [ Отслеживать ]
Не работают Bash-команды в shell-скрипте, !*! qazarus, 13-Дек-14, 19:13  [смотреть все]
Debian 7 с ядром 3.17.3.

Нужно загрузить с сайта несколько страниц, для этого решил воспользоваться конструкцией {1..100}
Запускаю в консоли следующую команду:


wget -E "http://example.org/index?page="{1..100}

Все отлично загружается, претензий нет.
Запускаю вот такой скрипт:

#!/bin/bash

wget -E "http://example.org/index?page="{1..100}

Запускаю, и... начинается загрузка страницы "http://example.org/index?page={1..100}"
Правлю скрипт до такого вида:

#!/bin/bash

for i in {1..100}; do wget -E "http://example.org/index?page=$i"; done

Тот-же результат.
Изменяю вот так:
#!/bin/bash

for ((i=1;i<=100;i++));; do wget -E "http://example.org/index?page=$i"; done  

Получаю ошибку:
Syntax error: Bad for loop variable

В чем проблема?

  • Не работают Bash-команды в shell-скрипте, !*! pavlinux, 21:04 , 13-Дек-14 (1)
    > В чем проблема?


    wget -E 'http://example.org/index?page='{1..100};

    И ваще, для выкачивания порнофоток есть расширения для браузеров.

  • Не работают Bash-команды в shell-скрипте, !*! erera22, 21:04 , 13-Дек-14 (2)
    Последнее - понятно:
    for ((i=1;i<=100;i++));; do wget -E "http://example.org/index?page=$i"; done
    =>>
    for ((i=1;i<=100;i++)); do wget -E "http://example.org/index?page=$i"; done

    а то и:
    for i in `seq 1 100`; do wget -E "http://example.org/index?page=$i"; done

    А касательно двух первых вариантов - все ок работает на том же debian. Покажите ls -l /bin/bash.

  • Не работают Bash-команды в shell-скрипте, !*! pavel_simple, 22:42 , 13-Дек-14 (3)
    >[оверквотинг удален]
    > for i in {1..100}; do wget -E "http://example.org/index?page=$i"; done
    >

    > Тот-же результат.
    > Изменяю вот так:
    > #!/bin/bash
    > for ((i=1;i<=100;i++));; do wget -E "http://example.org/index?page=$i"; done
    >
    > Получаю ошибку:
    > Syntax error: Bad for loop variable
    > В чем проблема?

    wget -E $(echo http://example.org/index?page={1..100})

  • Не работают Bash-команды в shell-скрипте, !*! qazarus, 18:35 , 14-Дек-14 (4)
    Перепробовал все предложенные варианты варианты - заработал только один:
    for i in `seq 1 100`; do wget -E "http://example.org/index?page=$i"; done
    Спасибо, erera22.

    > Покажите ls -l /bin/bash.


    root@Debian:~# ls -l /bin/bash
    -rwxr-xr-x 1 root root 941252 Сен 25 23:46 /bin/bash

    Месторасположение бинарника Баша проверил с самого начала - на месте.

    Загрузил около 10к страниц, и понял что это не дело, ибо 1к страниц загружается около 11 минут, что очень долго, с учетом того что мне нужно слить не много не мало около миллиона страниц с сопутствующим контентом в виде картинок, стилей и скриптов.
    Делать было нечего - заюзал форточный Offline Explorer, он умеет одновременно загружать до 500 страниц, правда вылетает из-за недостатка памяти, если загружать больше 200к страниц за раз, но это уже совсем другая история.

    Тем не менее мне все-же любопытно из-за чего возникла данная проблема, и как её вылечить.

    > И ваще, для выкачивания порнофоток есть расширения для браузеров.

    Да ну! Разве это по нашему, юзать плагины для закачки порнухи, если есть консоль? Только юниксвей, только хардкор!
    А если серьезно - порнофотки можно и с торрентов большими паками выкачать, в моем-же случае нужно очень оперативно слить нужную инфу с сервера, который завтра закрывается. Так сказать мини Вейбак машина для личных целей.

    • Не работают Bash-команды в shell-скрипте, !*! pavel_simple, 18:42 , 14-Дек-14 (5) –1
      >[оверквотинг удален]
      > до 500 страниц, правда вылетает из-за недостатка памяти, если загружать больше
      > 200к страниц за раз, но это уже совсем другая история.
      > Тем не менее мне все-же любопытно из-за чего возникла данная проблема, и
      > как её вылечить.
      >> И ваще, для выкачивания порнофоток есть расширения для браузеров.
      > Да ну! Разве это по нашему, юзать плагины для закачки порнухи, если
      > есть консоль? Только юниксвей, только хардкор!
      > А если серьезно - порнофотки можно и с торрентов большими паками выкачать,
      > в моем-же случае нужно очень оперативно слить нужную инфу с сервера,
      > который завтра закрывается. Так сказать мини Вейбак машина для личных целей.

      про xargs я так понял ты не в курсе. грусть -- печаль.

      • Не работают Bash-команды в shell-скрипте, !*! fantom, 13:03 , 15-Дек-14 (6)
        >>[оверквотинг удален]

        GNU bash, version 4.2.53(1)

        $ cat test_script
        #!/bin/bash

        wget -E "http://example.org/index?page="{1..100}

        $bash test_script
        --2014-12-15 12:01:52--  http://example.org/index?page=1
        Распознаётся example.org (example.org)… 93.184.216.34, 2606:2800:220:1:248:1893:25c8:1946
        Подключение к example.org (example.org)|93.184.216.34|:80... соединение установлено.
        HTTP-запрос отправлен. Ожидание ответа... 404 Not Found
        2014-12-15 12:01:52 ОШИБКА 404: Not Found.

        --2014-12-15 12:01:52--  http://example.org/index?page=2
        Повторное использование соединения с example.org:80.
        HTTP-запрос отправлен. Ожидание ответа... 404 Not Found
        2014-12-15 12:01:52 ОШИБКА 404: Not Found.

        --2014-12-15 12:01:52--  http://example.org/index?page=3
        Повторное использование соединения с example.org:80.
        HTTP-запрос отправлен. Ожидание ответа... 404 Not Found
        2014-12-15 12:01:52 ОШИБКА 404: Not Found.
        ..................

        Усе шуршит со свистом в FC20.....




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру