abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 03:44 | Nová verze

    Open source počítačová hra na hrdiny NetHack (Wikipedie, GitHub) byla vydána v nové verzi 5.0.0. První verze této hry byla vydána v roce 1987.

    Ladislav Hagara | Komentářů: 2
    1.5. 15:11 | IT novinky

    Evropská komise naléhavě vyzvala členské státy EU, aby kvůli ochraně nezletilých na internetu urychlily zavádění unijní aplikace pro ověřování věku a zajistily její dostupnost do konce roku. Členské státy mohou zavést aplikaci EU pro ověřování věku jako samostatnou aplikaci nebo ji integrovat do takzvané evropské peněženky digitální identity.

    Ladislav Hagara | Komentářů: 14
    30.4. 23:33 | Nová verze

    Richard Biener oznámil vydání verze 16.1 (16.1.0) kolekce kompilátorů pro různé programovací jazyky GCC (GNU Compiler Collection). Jedná se o první stabilní verzi řady 16. Přehled změn, nových vlastností a oprav a aktualizovaná dokumentace na stránkách projektu. Některé zdrojové kódy, které bylo možné přeložit s předchozími verzemi GCC, bude nutné upravit.

    Ladislav Hagara | Komentářů: 0
    30.4. 23:11 | Nová verze

    Zulip Server z open source komunikační platformy Zulip (Wikipedie, GitHub) byl vydán ve verzi 12.0. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    30.4. 12:11 | IT novinky

    Před 30 lety, tj. v úterý 30. dubna 1996, byl spuštěn Seznam.cz.

    Ladislav Hagara | Komentářů: 32
    30.4. 11:44 | Komunita

    Byly zpracovány a zveřejněny všechny videozáznamy, které stojí za zveřejnění, z konference FOSDEM 2026.

    Ladislav Hagara | Komentářů: 0
    30.4. 01:11 | IT novinky

    Od úterý 28. dubna musí nově uváděné notebooky v Evropské unii podporovat nabíjení přes USB-C. Jednotná nabíječka byla schválena Evropským parlamentem v říjnu 2022.

    Ladislav Hagara | Komentářů: 58
    29.4. 23:44 | Bezpečnostní upozornění

    Byly publikovány informace o kritické zranitelnosti CVE-2026-31431 pojmenované Copy Fail v Linuxu, konkrétně v kryptografii (AF_ALG). Běžný uživatel může získat práva roota (lokální eskalaci práv). Na všech distribucích Linuxu vydaných od roku 2017. Pomocí 732bajtového skriptu. V upstreamu je již opraveno. Zranitelnost byla nalezena pomocí AI Xint Code.

    Ladislav Hagara | Komentářů: 4
    29.4. 17:44 | Nová verze

    Textový editor Zed dospěl do verze 1.0. Představení v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    29.4. 04:44 | Komunita

    Vývojáři svobodného 3D softwaru Blender představili (𝕏, Mastodon, Bluesky) nejnovějšího firemního sponzora Blenderu. Je ním společnost Anthropic stojící za AI Claude a úroveň sponzoringu je Patron, tj. minimálně 240 tisíc eur ročně. Anthropic oznámil sponzorství v tiskové zprávě Claude for Creative Work.

    Ladislav Hagara | Komentářů: 7
    Které desktopové prostředí na Linuxu používáte?
     (14%)
     (8%)
     (2%)
     (13%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1477 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Dotaz: BASH ukončení funkce po splnění podmínky

    1.8.2012 14:48 MM
    BASH ukončení funkce po splnění podmínky
    Přečteno: 226×
    Ahoj,

    mám funkci
    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

    Odpovědi

    1.8.2012 15:44 tomo_tn
    Rozbalit Rozbalit vše Re: BASH ukončení funkce po splnění podmínky
    #!/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
    
    1.8.2012 15:56 Marble | skóre: 27 | blog: marble
    Rozbalit Rozbalit vše Re: BASH ukončení funkce po splnění podmínky

    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.

    1.8.2012 18:42 MM
    Rozbalit Rozbalit vše Re: BASH ukončení funkce po splnění podmínky
    Použil jsem wait, díky za pomoc..

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.