Portál AbcLinuxu, 7. května 2025 19:58
Řešení dotazu:
wget -q -O - 'http://example.com/data.txt' > /dev/stdout
Na internetu jsem ještě našel, že u STDOUT se používá sync a sleep. To tam snad být nemusí, ne? :)
sync
sleep 5
file_put_contents("data.txt", $raw_data);
Napadlo mně přes .htaccess udělat data.php, které bude "přesměrovávat" na data.txt, přičemž do data.php budu moci dát header hlavičku no-cache. Jen nevím, zda-li to není zbytečně složité. file_put_contents by cachovat neměl. Prostě zapíše nové data.
wget -q -O - 'http://example.com/data.txt?123456' > /dev/stdout
if [ `výstup | wc -c` -eq 0 ]; then chyba; fi
. Bohužel nevím co zadat za výstup
, protože nepíšeš, co s daty z wgetu děláš. Pokud je ukládáš do proměnné, tak echo "$proměnná"
. Osobně bych možná preferoval nepoužívat wget na stdout, ale uložit to do dočasného souboru -- bude to příjemnější když s daty zjevně chceš dělat další věci (kontrolovat validitu atd.). Tj. wget ... -O /tmp/bla.$$
a následně cat /tmp/bla.$$
. Za $$
se doplňuje PID běžícího skriptu, které je na počítači v daný okamžik unikátní, takže nevadí, pokud se skript spustí vícekrát.
> /dev/stdout
, protože programy defaultně píšou na stdout.
Dále je blbost dávat wget -O - > někam
, protože -O -
říká neukládej někam a > někam
říká ulož to někam. Napiš přímo -O někam
.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.