Organizace Apache Software Foundation (ASF) vydala verzi 30 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.
Byla vydána nová verze 7.0 svobodného open source redakčního systému WordPress. Kódové jméno Armstrong bylo vybráno na počest amerického jazzového trumpetisty a zpěváka Louise Armstronga (What A Wonderful World).
V Drupalu byla nalezena a opravena kritická zranitelnost SA-CORE-2026-004 (CVE-2026-9082). Útočník může provádět libovolné SQL dotazy na webech používajících databázi PostgreSQL.
Richard Hughes oznámil, že službu Linux Vendor Firmware Service (LVFS) umožňující aktualizovat firmware zařízení na počítačích s Linuxem, nově sponzoruje také společnost HP.
O víkendu proběhla demopárty Outline 2026. Publikována byla prezentovaná dema. Upozornit lze na 16 bajtové, opravdu šestnáct bajtové, zvukově obrazové demo Wake Up! 16b (YouTube).
Byla vydána nová verze 9.5 multiplatformní digitální pracovní stanice pro práci s audiem (DAW) Ardour. Přehled novinek, vylepšení a oprav v poznámkách k vydání a na YouTube.
Dnes a zítra probíhá vývojářská konference Google I/O 2026. Sledovat lze na YouTube a na síti 𝕏 (#GoogleIO).
Canonical vydal Ubuntu Core 26. Vychází z Ubuntu 26.04 LTS a podporováno bude 15 let. Ubuntu Core je minimální neměnný operační systém určený pro vestavěné systémy.
Bylo vydáno OpenBSD 7.9. Po dlouhé době opět se songem: Diamond in the Rough.
Byl vydán Mozilla Firefox 151.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 151 bude brzy k dispozici také na Flathubu a Snapcraftu.
if [ -f /foo ] then echo "Soubor existuje" else echo "Soubor neexistuje" fi if [ -f /foo ]; then echo "Soubor existuje"; else echo "Soubor neexistuje"; fi
Řešení dotazu:
[-f /foo] && echo "existuje" || echo "neexistuje"
U příkazu echo není sice příliš pravděpodobné, že by skončil chybou, ale i tak bych důrazně doporučil si na podobné čuňárny nezvykat.
Nemluvě o tom, že takhle vám to skončí už chybou kvůli spuštění neexistujícího příkazu "[-f".
[ -d Documents ] && cd neexisujici-adr || echo "neexistuje"je to očekávané chování?
if [ -d Documents ]; then cd neexisujici-adr else echo "neexistuje" fitedy původní dotaz.
Problém spočívá v tom, že konstrukce "c1 && c2 || c3" spustí příkaz c3 nejen v případě, kdy selhal c1, ale i tehdy, když c1 uspěje a c2 selže. Takže např.
test -f "$dir" && cd "$dir" || echo "$dir neexistuje"
vám bude tvrdit, že adresář neexistuje, i v případě, že adresář sice existuje, ale příkaz cd selhal z jiného důvodu (třeba že na něj nemáte access).
[ -f /foo ] && (echo "existuje"; exit) || echo "neexistujeAle o moc čitelnější mi to nepřijde
[ -f /foo ] && (echo "existuje"; exit) || echo "neexistuje
Těsně vedle. Ale kdybyste tam měl "exit 0", tak už byste to obešel. Jenže…
Ale o moc čitelnější mi to nepřijde :-)
Přesně tak. Upřímně řečeno, ty operátory mají IMHO smysl jen v jednoduchých konstrukcích typu
cmd1 && cmd2 && cmd3 && cmd4 && ... cmd || exit 1
U čehokoli komplikovanějšího jsou většinou spíš na škodu než k užitku.
Tiskni
Sdílej: