Byla vydána nová verze 12.0.0 vizuálního programovacího jazyka Snap! (Wikipedie) inspirovaného jazykem Scratch (Wikipedie). Přehled novinek na GitHubu.
Počítačovou hru Gravity Circuit (ProtonDB) lze do 14. června do 19:00 získat na Steamu zdarma. Napořád.
Nejnovější X.Org X server 21.1.23 a Xwayland 24.1.12 řeší 9 bezpečnostních chyb.
npm balíčky @redhat-cloud-services byly kompromitovány.
Byly publikovány informace o zranitelnosti CVE-2026-46243 pojmenované CIFSwitch v Linuxu od roku 2007. Běžný uživatel může získat práva roota (lokální eskalaci práv). V upstreamu je již opraveno.
Nvidia na své konferenci NVIDIA GTC Taipei 2026 představila řadu novinek. Společně s Microsoftem představili superčip NVIDIA RTX Spark (až 6 144 jader GPU, 20 jader CPU, 1 petaflop AI výkonu v FP4 a 128 GB jednotné paměti). První notebooky a stolní počítače s tímto čipem od Nvidie místo Intelu nebo AMD by se měly na trh dostat na podzim letošního roku.
Na Kickstarteru běží kampaň na podporu kapesního počítače s Linuxem CardputerZero od společnosti M5Stack. Postaven je na Raspberry Pi Compute Module 0. Podporuje moduly M5. Koupit lze s rozšířeními LoRa a CC1101.
Tento týden se bude vyznačovat zejména deštěm, a proto vás může zajímat, že již v úterý proběhne 63. Virtuální Bastlírna, která se bude odehrávat přímo v teple vašich domovů a bastlíren. Proto se připojte k této volné otevřené diskuzi bastlířů, techniků, vědců, ve které se probírají novinky a zajímavá témata z techniky. Mezi největší novinky bude tentokrát patrně patřit oznámení hackerského nástroje Flipper One. Zároveň úspěšně probíhá
… více »86Box (Wikipedie), tj. emulátor retro počítačů založených na x86, byl vydán ve verzi 6.0. Přibyly například zvuky pevného disku. Na GitHubu jsou vedle zdrojových kódů ke stažení také připravené balíčky ve formátu AppImage.
Byla vydána nová verze 4.6 audio přehrávače Audacious (Wikipedie). Z novinek lze vypíchnout nový plugin pro procházení soubory, podporu audio formátu Musepack SV8 nebo přechod na build systém Meson.
function tree {
...
...
...
# všechno se provedlo
# teď vytvořím soubor a.success abych dal vědět scriptu, že jsem hotov
echo "success" > /tmp/a.success
# teď musím počkat až bude existovat soubor b.success který vytvoří script který jede normálně na popředí
while [ -f /tmp/b.success ]
do
break # Tady má být možná něco jiného pro ukončení toho cyklu a celé funkce tree
done
}
#volám funkci tree, spouštím ji na pozadí
tree &
# tady pokračuji dál
...
...
...
# všechno se provedlo
# teď vytvořím soubor b.success abych dal vědět funkci tree, že jsem hotov
# teď musím počkat až bude existovat soubor a.success který vytvoří funkce tree
while [ -f /tmp/a.success ]
do
break # Tady má být možná něco jiného pro ukončení toho cyklu a celé funkce tree
done
echo "Hotovo, končím"
Jenže to nějak nefunguje
co je špatně? máte lepší řešení? Díky za pomoc
#!/bin/bash
rm /tmp/succes
function tree() {
while [ ! -f /tmp/succes ] ; do
echo "tree is growing" ; sleep 1
done
}
tree &
sleep 5
touch /tmp/succes
Proč je tam to čekání křížem? To má nějaký smysl?
Pokud je účelem počkat na skončení podprocesu, tak na to má bash přímo interní příkaz wait.
Negace podmínky existence souboru už tu padla, ale dělat idle cyklus je pěkná prasárna. Sleep to částečně "řeší" (dokud těhle cyklů se sleep nepoběží moc), ale také záleží, jestli je případná prodleva OK. Slušnější je čekat na nějakou událost (zapsání znaku do souboru/roury), kterou je možné číst blokujícím systémovým voláním (třeba právě pomocí read z předem vytvořeného souboru). Případně se dá velmi podobně využít flock, který umí blokovat, dokud se zámek neuvolní.
Další možnost, ale jen v novém bashi (verze 4) je interní příkaz coproc, který spustí příkaz na pozadí a rovnou k němu otevře anonymní pipe, takže pro komunikaci pak není vůbec potřeba filesystém.
Tiskni
Sdílej: