Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
Programovací jazyk Python byl vydán v nové major verzi 3.14.0. Podrobný přehled novinek v aktualizované dokumentaci.
Bylo oznámeno, že Qualcomm kupuje Arduino. Současně byla představena nová deska Arduino UNO Q se dvěma čipy: MPU Qualcomm Dragonwing QRB2210, na kterém může běžet Linux, a MCU STM32U585 a vývojové prostředí Arduino App Lab.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.14.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Byla vydána nová stabilní verze 6.10 (YouTube) multiplatformního frameworku a GUI toolkitu Qt. Podrobný přehled novinek v poznámkách k vydání.
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: