The OpenNET Project / Index page

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

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Не работают Bash-команды в shell-скрипте"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"Не работают Bash-команды в shell-скрипте"  +/
Сообщение от qazarus on 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

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

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Не работают Bash-команды в shell-скрипте"  +/
Сообщение от pavlinux (ok) on 13-Дек-14, 21:04 
> В чем проблема?


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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Не работают Bash-команды в shell-скрипте"  +/
Сообщение от erera22 (ok) on 13-Дек-14, 21:04 
Последнее - понятно:
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.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "Не работают Bash-команды в shell-скрипте"  +/
Сообщение от pavel_simple (ok) on 13-Дек-14, 22:42 
>[оверквотинг удален]
> 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})

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "Не работают Bash-команды в shell-скрипте"  +/
Сообщение от qazarus on 14-Дек-14, 18:35 
Перепробовал все предложенные варианты варианты - заработал только один:
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к страниц за раз, но это уже совсем другая история.

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

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

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

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

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

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

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "Не работают Bash-команды в shell-скрипте"  +/
Сообщение от fantom (ok) on 15-Дек-14, 13:03 
>>[оверквотинг удален]

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.....

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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