GNU awk (gawk), implementace specializovaného programovacího jazyka pro zpracování textu, byl vydán ve verzi 5.4.0. Jedná se o větší vydání po více než dvou letech. Mezi četnými změnami figuruje např. MinRX nově jako výchozí implementace pro regulární výrazy.
Internetový prohlížeč Ladybird ohlásil tranzici z programovacího jazyka C++ do Rustu. Přechod bude probíhat postupně a nové komponenty budou dočasně koexistovat se stávajícím C++ kódem. Pro urychlení práce bude použita umělá inteligence, při portování první komponenty prohlížeče, JavaScriptového enginu LibJS, bylo během dvou týdnů pomocí nástrojů Claude Code a Codex vygenerováno kolem 25 000 řádků kódu. Nejedná se o čistě autonomní vývoj pomocí agentů.
Byl vydán Mozilla Firefox 148.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově lze snadno povolit nebo zakázat jednotlivé AI funkce. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 148 bude brzy k dispozici také na Flathubu a Snapcraftu.
Byla vydána nová verze 22.1.0, tj. první stabilní verze z nové řady 22.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
X86CSS je experimentální webový emulátor instrukční sady x86 napsaný výhradně v CSS, tedy bez JavaScriptu nebo dalších dynamických prvků. Stránka 'spouští' assemblerovový program mikroprocesoru 8086 a názorně tak demonstruje, že i prosté CSS může fungovat jako Turingovsky kompletní jazyk. Zdrojový kód projektu je na GitHubu.
Po šesti letech byla vydána nová verze 1.3 webového rozhraní ke gitovým repozitářům CGit.
Byla vydána nová verze 6.1 linuxové distribuce Lakka (Wikipedie), jež umožňuje transformovat podporované počítače v herní konzole. Nejnovější Lakka přichází s RetroArchem 1.22.2.
Matematický software GNU Octave byl vydán ve verzi 11.1.0. Podrobnosti v poznámkách k vydání. Vedle menších změn rozhraní jsou jako obvykle zahrnuta také výkonnostní vylepšení a zlepšení kompatibility s Matlabem.
Weston, referenční implementace kompozitoru pro Wayland, byl vydán ve verzi 15.0.0. Přehled novinek v příspěvku na blogu společnosti Collabora. Vypíchnout lze Lua shell umožňující psát správu oken v jazyce Lua.
Organizace Apache Software Foundation (ASF) vydala verzi 29 integrovaného vývojového prostředí a vývojové platformy napsané v Javě NetBeans (Wikipedie). Přehled novinek na GitHubu. Instalovat lze také ze Snapcraftu a Flathubu.
wget nejaka.url.cz/adresar/soubor -N
Tento prikaz soubor stahne pouze v pripade ze soubor na serveru je novejsi nez soubor ulozeny na lokalu.
Pokud je soubor na serveru starsi nez soubor na lokalnim disku, tak server vrati:
HTTP request sent, awaiting response... 200 OK
Length: 2,776 (2.7K) [text/plain]
Server file no newer than local file `vgdwww' -- not retrieving.
Ja potrebuji, aby se v pripade stazeni souboru spustily dalsi prikazy.
Pokud se soubor nestahne (prikaz wget vrati not retrieving) chci, aby se skript ukoncil
Takze treba vygrepuji slovicko not, ulozim ho do promenne a dale pak udelam podminku, ktera pokud se promenna bude rovnat not, skript ukonci. A pokud se promenna not rovnat nebude provede zbytek skriptu.
Soubor je seznam povolenych domen pro squidguard.
Timto skriptem chci zajistit to, ze kdyz zaktualizuji soubor na hlavnim serveru, dojde po spusteni skriptu na vzdalenych serverech ke stazeni noveho souboru s povolenymi domenami a k atualizaci databaze squidguardu.
Vim, ze reseni musi byt celkem trivialni, ale i tak pro mne vase rady budou znamenat znacne usetreni casu.
Predem diky moc.
#!/bin/sh
wget nejaka.url.cz/adresar/soubor -N
if [ $? -gt 0 ]; then
...nepovedlo se stahnout...
exit 1
else
...povedlo se stahnout, dalsi prikazy...
fiNeboli nemusis grepovat hodnotu not apod., $? vraci navratovou hodnotu posledniho prikazu.
#! /bin/sh wget nejaka.url.cz/adresar/soubor -N || exit 1 #...povedlo se stahnout, dalsi prikazy...
... if [ `wget .... -N | grep not | wc -l` -ge 1 ]; then ... else ... fiakurat je to asi zbytocne a viac nachylne na chyby (akoze bude not v ceste stahovaneho suboru) ako pasmenove riesenie
wget nejaka.url.cz/adresar/soubor -N | grep not
Nevraci vubec nic. :(
#!/bin/bash
wget wget nejaka.url.cz/adresar/soubor -N
echo $?
A at uz se soubor stahl nebo ne, tak navratova hodnota byla vzdy 0.
stat -c %Y zjistit čas poslední modifikace souboru před stahováním a po něm a ta dvě čísla porovnat..?
mtime="$(wget -S --delete-after nejaka.url.cz/adresar/soubor 2>&1 | sed -n 's|^.*Last-Modified:\ \(.*\)$|\1|p')"tento mozes porovnat s casom poslednej modifikacie lokalneho suboru a rozhodnut sa, co ho stiahnut alebo nie a ten
grep not sa mi vobec nepozdava, radsej si nastav nejaku (boolean) premennu a rozhoduj podla nej (tato moze byt zaroven aj return value)
#!/bin/bash
#tady zjitim casovou znacku souboru na serveru
stime="$(wget -S --delete-after nejaka.url.cz/adresar/soubor 2>&1 | sed -n 's|^.*Last-Modified:\ \(.*\)$|\1|p')"
#tady ji konvertuji do pouzitelnejsiho formatu
stimec="$( date -u --date "$stime" +%s)"
#otestuji existenci souboru na lokalu a pripadne zjistim jeho casovou znacku nebo ho stahnu
test -e soubor
if [ $? -eq 0 ]; then
ltime="$(stat -t soubor|awk '{print $13}')"
else
echo 'soubor neexistuje'
echo 'stahuji novy soubor'
wget nejaka.url.cz/adresar/soubor -q
exit
fi
#Jen tak pro kontrolu si vypisu promenne
echo $stime
echo $stimec
echo $ltime
#Pokud je soubor na serveru novejsi nez ten na lokale, puvodni smazu a stahnu novy soubor
if [ $stimec -gt $ltime ]; then
echo 'soubor na serveru je starsi'
echo 'mazu puvodni soubor'
rm -f soubor
echo 'Stahuji novou verzi'
wget nejaka.url.cz/adresar/soubor -q
else
echo 'no need to update'
fi
Dal sem se zatim nedostal, ted potrebuji jeste nejak inteligentne vyresit spusteni prikazu:
squidGuard -C soubor
a restart pripadne reload squidu
/etc/init.d/squid restart
Tyto dva prikazy se budou provadet v pripade platnosti jak prvni tak i druhe podminky.
Uvital byc hradu ja kto udealt, tak abych nemusel tyto prikazy psat do kazde podminky zvlast.
Vsem moc diky za radu.
Tiskni
Sdílej: