Vláda USA nařídila společnosti Anthropic pozastavit přístup k modelům Fable 5 a Mythos 5 pro všechny cizince, včetně zaměstnanců Anthropicu.
Společnost Murena představila (YouTube) novou verzi 4.0 mobilního operačního systému /e/OS (Wikipedie) založeného na Androidu a LineageOS bez aplikací a služeb od Googlu.
V Arch User Repository (AUR) bylo kompromitováno přes 400 opomíjených balíčků (jejich seznam). Útočník do nich začlenil škodlivý npm balíček atomic-lockfile, který krade citlivá data uživatelů. Publikována byla předběžná analýza spouštěného malwaru deps.
Homebrew, správce balíčků nejen pro macOS, byl vydán ve verzi 6.0.0 (seznam změn). Hlavními novinkami jsou bezpečnostní mechanismus tap trust kvůli důvěryhodnosti závislostí, vylepšení sandboxingu na Linuxu, interní JSON API nebo zlepšení výkonu.
Byla nalezena a 9. června opravena kritická zranitelnost ve FreeBSD v Kernel TLS (KTLS). Pojmenována byla Bumsrakete (FreeBSD-SA-26:26.ktls, CVE-2026-45257). Lokální neprivilegovaný uživatel může přepisovat soubory, ke kterým má právo pouze pro čtení. Přepsáním setuid binárky a jejím spuštěním může získat roota. Na všech verzích od verze 13.0 vydané v dubnu 2021.
Vývojáři open source operačního systému ReactOS (Wikipedie), jehož cílem je kompletní binární kompatibilita s aplikacemi a ovladači pro Windows, se na síti 𝕏 pochlubili, že ReactOS zvládne počítačovou hru Half-Life.
Byla vydána nová verze 4.8 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Využíván je Free Pascal Compiler (FPC) 3.2.2.
Apple container dospěl do verze 1.0.0. Jedná se o open source nástroj pro spouštění linuxových kontejnerů na macOS postavený nad containerization. Napsaný je v programovacím jazyce Swift a optimalizovaný pro Apple silicon.
Bylo vydáno Eclipse IDE 2026-06 aneb Eclipse 4.40. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
Asterinas (GitHub) je v Rustu napsané jádro operačního systému poskytující s jádrem Linux kompatibilní ABI. Vydána byla verze 0.18.0. První distribucí postavenou nad jádrem Asterinas je Asterinas NixOS. Nejedná se o oficiální projekt NixOS a nemá nic společného s NixOS Foundation.
cd "~/data/psi/"
filter="-mtime -2"
exclude='( ! -iname "*ajax*" )'
find . $filter $exclude -type f
zobrazí i "ajax"
cd "~/data/pes/"
filter="-mtime -2"
exclude='\( ! -iname "*ajax*" \)'
find . $filter $exclude -type f
dostanu find: paths must precede expression: \(
Nějak nevím, jak to sestavit, zkoušel jsem pár dalších možností, ale většinou jsem skončil u stejné chyby jako ve druhém případě. Někde dělám chybu, ale nevím kde
Díky za nasměrování
Řešení dotazu:
paths must precede expression: \( by te mela trknout: jak to ze find vidi to zpetny lomitko? To tam prece davas aby ti zavorku nesezral shell. Do findu by to melo projit uz expandovany cili jestli je tam to lomitko videt tak se ta expanze neprovedla a mas tam zbytecny escapovani navic. Cili ty pitomy lomitka vymaz.
Bych si tak od boku strelil ze jsou za tim uvozovky/apostrofy, tam se vynechava vic expanzi.
find -mtime -2 ( ! -iname "*ajax*" )předáváte do
find 7 parametrů.
Když použijete proměnné, je celá proměnná považovaná za jeden parametr. Také ji tak nastavujete – máte její obsah v uvozovkách, tj. je to celé jeden text, včetně těch mezer. Takže váš příkaz
find . $filter $exclude -type fpředá do
find 5 parametrů a je ekvivalentní spuštění
find . '-mtime -2' '\( ! -iname "*ajax*" \)' -type fA tomu
find samozřejmě nerozumí.
Pokud chcete předat jednou proměnnou víc parametrů, musíte použít pole. Vyzkoušejte si to třeba na příkazu touch:
test1='abc def' test2=(ghj ijk) touch $test1 touch $test2První
touch vytvoří jeden soubor s názvem abc\ def. Druhý dostal jako parametr dvouprvkové pole, vytvoří tedy dva soubory, ghj a ijk.
Když použijete proměnné, je celá proměnná považovaná za jeden parametr.To je naprostá pitomost. 1) Dokumentace bashe: The order of expansions is: brace expansion, tilde expansion, parameter, variable and arithmetic expansion and command substitution (done in a left-to-right fashion), word splitting, and pathname expansion. 2) Praktický příklad:
x='-h -l -a' ls $x
zsh se chová přesně tak jak jsem popsal. bash se chová jak popisujete vy. Nenapadlo mne, že se v tomhle budou shelly lišit. Z té citované dokumentace to navíc neplyne, protože do x přiřazujete text v apostrofech, takže se to dá klidně chápat tak, že v proměnné bude mezera escapovaná. Ostatně
x='`pwd`' echo $xani bashi nevypíše aktuální adresář, ale vypíše text
`pwd`. Takže command substitution už v bashi na obsahu proměnné prováděno není.
set -xJelikož pathname expanse probíhá až po word splittingu, rozumné řešení je skutečně jen přes pole, jak už tu bylo napsáno:
exclude=('(' ! -iname '*sample*' ')')
find . $filter "${exclude[@]}" -type f
Využívá se magické vlastnosti konstrukce "${array[@]}", kterou shell neexpanduje na obsah pole jako jedno slovo, ale na samostatná slova pro každý prvek pole.
..... opravdu se to musí takhle ohackovat, vyzkoušeno a funguje...
Děkuji všem, kdož se snažili pomoct a doufám, že tato otázka pomůže i mnoha z vás
Milan
Tiskni
Sdílej: