Portál AbcLinuxu, 7. května 2025 14:45

Dotaz: smyčka

23.11.2008 10:14 hdc
smyčka
Přečteno: 701×
Odpovědět | Admin
Zdravím. mám tu skript:

#!/bin/bash

n=1 while [ $n -lt 6427 ]; do

prikaz="sed -n "$n"p somefile.txt | cut -f1"

let n=n+1

export http_proxy=`$prikaz`

wget "adresa stránky" -bq -T30

-O/dev/null

-o/dev/null >/dev/null

done

Soubor somefile obsahuje IP adresy a porty proxy serverů, problém je v tom, že se nenačítají.

Dokázali byste prosím poradit, kde je problém? Ještě dodám, že to jede v Cygwinu. Předem děkuji za pomoc.
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

23.11.2008 10:59 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: smyčka
Odpovědět | | Sbalit | Link | Blokovat | Admin
A rozumieš tomu, čo spraví:
-O/dev/null
-o/dev/null >/dev/null 
?

Čo to znamená, že sa nenačítajú?
23.11.2008 11:13 hdc
Rozbalit Rozbalit vše Re: smyčka

Ty logy v dev jsou celkem zbytečné. Ale pokud to běží pod Cygw., tak se tam stejně neukládají.

Testoval jsem to na své stránce s počítadlem, kde se můžu podívat na statistiky a hlásí mi to pouze přístup z mé IP. Pokud ale vložím adresu proxy ručně do prohlížeče, vše je ok. V somefile je adresa ve formátu např. 203.193.138.148:8080.

 

23.11.2008 11:19 hdc
Rozbalit Rozbalit vše Re: smyčka

Při běhu vypisuje: "sed: couldn´t in background open file 1 : No such file or directory"

23.11.2008 11:31 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: smyčka
Odpovědět | | Sbalit | Link | Blokovat | Admin
prikaz=`sed -n "$n"p somefile.txt | cut -f1`
23.11.2008 11:41 hdc
Rozbalit Rozbalit vše Re: smyčka

jóóó rastos, to je ončo :) díky. Jenom ještě zlobí wget, píše: "line 8:  -adresa proxy-: command not found".

Jinak načítá to IP z somefile perfektně!!!

23.11.2008 11:57 hdc
Rozbalit Rozbalit vše Re: smyčka

Jo, zapoměl jsem dodat, načítá, ale wget neakceptuje :(

23.11.2008 18:47 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: smyčka
Ono ja som sa tiež trocha unáhlil a nedotiahol do konca. Prvý problém je to, že si do premennej prikaz dal "pipeline" - viacero príkazov, ktoré si odovzdávajú výstup na vstup cez | A potom si sa pokúšal získať výstup z vykonania tej premennej. To nejde. Ale ide získať priamo výstup z tej pipeline do premmennej. Z toho plynula moja prvá rada. Do príkaz získať rovno výstup z tej pipeline. Ale potom musíš aj upraviť aj to
export http_proxy=`$prikaz`
na
export http_proxy=$prikaz
(resp. to urobiť v jednom kroku).

Každopádne, keď to nefunguje, tak sa oplatí robiť bash -x menoskriptu. Tam uvidíš aké hodnoty sa vlastne priradia do premenných a ako vyzerá príkaz po nahradení premenných. Prípadne tam ešte prihoď sem tam nejaké echo $premenna. Možno je ešte zádrhel v tom ako vyzerá "adresa stránky".
23.11.2008 19:21 hdc
Rozbalit Rozbalit vše Re: smyčka

rastos - díky moc za pomoc!!! Kód tedy vypadá nyní takhle:

#!/bin/bash

n=1
while [ $n -lt 6427 ]; do

prikaz=`sed -n "$n"p somefile.txt | cut -f1`
let n=n+1
export http_proxy=$prikaz
wget "http://vereca.kvalitne.cz/" -bq -T30

done

 

ale na počítadle se to neprojevý a ani ve statistice nevidím přístupy z proxy... :( Pomůžeš prosím?

23.11.2008 21:07 rastos | skóre: 63 | blog: rastos
Rozbalit Rozbalit vše Re: smyčka
Skús pustiť ten wget ručne a bez -bq, možno niečo povie. Inak to vyzerá na zlú hodnotu v tom http_proxy.
23.11.2008 21:43 hdc
Rozbalit Rozbalit vše Re: smyčka

jj, máš pravdu, pokud to nenechám běže na pozadí, vidím, jak se to pořád dokola snaží připojit pouze na první proxy ze souboru somefile :( to jsem z toho fakt jelen :(

 

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.