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 02:55 | IT novinky

    Společnost Juno Computers prodávající počítače s předinstalovaným Linuxem má nově v nabídce linuxový tablet Juno Tab 4 - WiFi. Na výběr je Debian, Ubuntu a Kubuntu. Předobjednat jej lze za 949 liber (26 500 korun).

    Ladislav Hagara | Komentářů: 0
    dnes 01:22 | Nová verze

    Podman (Pod Manager), nástroj umožňující vytvářet a provozovat kontejnery, aniž by uživatel potřeboval práva roota, byl vydán v nové major verzi 6.0.0. Přehled novinek v poznámkách k vydání. Řešena je i vážná bezpečnostní chyba CVE-2026-57231.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | IT novinky

    Společnost Sony oznámila, že od ledna 2028 přestane vydávat nové hry pro PlayStation na fyzických discích. Všechny budoucí tituly budou dostupné výhradně v digitální podobě na PlayStation Store.

    Ladislav Hagara | Komentářů: 0
    včera 16:55 | Nová verze

    Google Chrome 150 byl prohlášen za stabilní. Nejnovější stabilní verze 150.0.7871.46 přináší řadu novinek. Podrobný přehled v poznámkách k vydání. Opraveno bylo 433 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.

    Ladislav Hagara | Komentářů: 0
    včera 13:00 | Nová verze

    Soudní dvůr Evropské unie potvrdil rekordní pokutu 4,125 miliardy eur (100 miliard Kč) americké technologické firmě Google ze skupiny Alphabet. Pokutu firmě v roce 2018 vyměřila Evropská komise (EK) za to, že Google podle ní zneužívá operačního systému Android k potlačení konkurence na trhu vyhledávacích služeb.

    Ladislav Hagara | Komentářů: 17
    včera 12:44 | IT novinky

    Administrativa amerického prezidenta Donalda Trumpa povolila firmě Anthropic obnovit plný přístup klientů k modelům umělé inteligence (AI) Fable 5 a Mythos 5. Ty byly nedostupné bezmála tři týdny kvůli bezpečnostním obavám vlády, třebaže americké ministerstvo obchodu minulý pátek povolilo omezený přístup k modelu Mythos 5 pro některé „důvěryhodné“ domácí organizace.

    Ladislav Hagara | Komentářů: 1
    včera 12:22 | Zajímavý článek

    Francúzska organizácia na ochranu spotrebiteľa, po viac než ôsmych rokoch skúmania, žaluje Epson za plánované zastarávanie tlačiarní. Súd sa začína dnes, 2. 7. 2026, vo francúzskom Nanterre.

    Vlado99 | Komentářů: 5
    včera 03:00 | Zajímavý software

    Erin Catto, autor open source 2D fyzikálního enginu Box2D (Wikipedie), představil nový 3D fyzikální engine Box3D. Engine je již používán ve hře The Legend of California.

    Ladislav Hagara | Komentářů: 0
    včera 01:00 | Nová verze

    Byla vydána nová verze 4.0.0 multiplatformního svobodného frameworku pro zpracování obrazu G'MIC (GREYC's Magic for Image Computing, Wikipedie). Přehled novinek i s náhledy nových filtrů na PIXLS.US.

    Ladislav Hagara | Komentářů: 1
    1.7. 14:22 | Zajímavý článek

    Český statistický úřad (ČSÚ): Průměrná hrubá měsíční mzda ICT specialistů v roce 2025 meziročně vzrostla o 6 % na téměř 100 tisíc korun. Nejlépe placeni byli vývojáři softwaru. Dlouhodobým trendem zůstává nízké zastoupení žen, a to jak mezi specialisty, tak studenty těchto oborů.

    Ladislav Hagara | Komentářů: 15
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (17%)
     (31%)
     (4%)
     (6%)
     (3%)
     (16%)
     (26%)
    Celkem 2038 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: OK alebo Failed? Bash

    2.12.2014 16:15 dnes má meniny Bibiána
    OK alebo Failed? Bash
    Přečteno: 413×

    Zdravim, potreboval by som v bashi testovat ci prikaz vratil nejaky vystup alebo nie. Nasiel som na toto nasledujucu vecicku:

    command && echo OK || echo Failed

    Mam ale problem s tym, ze sa mi zobrazi aj samotny vystup z prikazu. Ja by som potreboval iba vypisat ci OK alebo Failed. Ako nezobrazit ten vystup? Dik.


    Řešení dotazu:


    Odpovědi

    2.12.2014 16:26 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    && a || vobec nesuvisi s tym, ci prikaz vratil alebo nevratil vystup. su to logicke operatory a riadia sa podla navratovej hodnoty predchadzajuceho prikazu/prikazov...
    2.12.2014 16:47 nobody
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    # presmerovat stdout a stderr
    command >/dev/null 2>/dev/null && echo OK || echo Failed
    
    2.12.2014 19:54 nobody
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    aha, ty chces zjistovat je-li vystup, tak ten po presmerovani nebudes mit nikdy :) tohle by zrusilo vystup a testovalo navratovou hodnotu 0 (OK) a >0 (Failed)
    rADOn avatar 2.12.2014 18:27 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    google a deset sekund:
    if [[ -n $(ls -A) ]]; then
        echo "there are files"
    else
        echo "no files found"
    fi
    
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    2.12.2014 22:47 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    [[ -n "$(command 2>&1)" ]] && echo OK || echo Failed
    
    3.12.2014 11:24 Sten
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Zajímavé, že si tu nikdo nevšiml té logické chyby, že i echo může vrátit chybový stav, a pak se spustí to druhé echo, i když ten příkaz byl úspěšný.

    Správné řešení je použít if:
    if command >/dev/null 2>&1; do
        echo OK
    else
        echo Failed
    fi
    
    Nebo takováto konstrukce:
    command >/dev/null 2>&1 && (echo OK || true) || echo Failed
    3.12.2014 11:26 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Přesně tak. To zřetězení příkazů bývá často zrádné, když se nepromyslí do detailu.
    3.12.2014 11:35 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    kedy moze echo OK vratit chybovy stav?
    3.12.2014 13:28 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    mike@unicorn:~> echo OK >/dev/full ; echo $?
    bash: echo: chyba zápisu: Na zařízení není volné místo
    1
    
    3.12.2014 14:00 nobody
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    a bez presmerovani do full ktere si k te otazce doplnil ? ;)
    kdyz patchnes bash aby echo vracelo error code i pri uspechu ? :D
    3.12.2014 14:02 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Uvědomte si, že celý skript může mít přesměrovaný výstup do souboru a že zápis může selhat.
    3.12.2014 14:59 Sten
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Pokaždé, když selže zápis. Skript může mít přesměrovaný výstup do souboru, kam nejde zapsat, může ho mít zavřený (například pokud jej spouští nějaký démon) nebo může být spuštěný přes SSH s nohup a spadne spojení. V tomhle případě je to trochu hnidopišství, protože selže i to druhé echo a vlastně se nic nestane, ale pokud by to někdo později upravil třeba na || rm -r data (program selhal → data jsou vadná), tak má problém. Takové chyby se navíc strašně blbě ladí, protože ze shellu by to fungovalo správně.
    3.12.2014 16:29 nobody
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    oba pisete ze "muze byt presmerovano" v tomto pripade ale NENI presmerovano, takze KDY bude mit "echo ok" navratovku >0 ? v TOMTO pripade ? ;)
    3.12.2014 17:00 dustin | skóre: 63 | blog: dustin
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Např. v okamžiku přesměrování výstupu celého skriptu do souboru, který neexistuje. Nebo když zrovna dojde místo. Nebo disk hodí chybu. Nebo pojedu přes ssh a nepůjde zapisovat do terminálu.

    Styl programování, kdy to zrovna v této situaci funguje, ale stačí málo k úplně jiné funkci, je peklo. Pokud mě zajímá návratová hodnota A, je špatně se rozhodovat podle návratové hodnoty B.
    3.12.2014 18:38 nobody
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    takze na otazku "Kdy bez presmerovani" je odpoved "Napr. pri presmerovani" ? :)

    Tarmaq avatar 3.12.2014 18:48 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    asi se ti snazi naznacit, ze ikdyz v tomto uryvku kodu neni presmerovani, tak tento kod muze byt ulozen v nejakem souboru jez je spousten v jinem souboru/skriptu kde je jeho vystup presmerovan.
    Don't panic!
    3.12.2014 20:47 Delaunay | skóre: 17 | blog:
    Rozbalit Rozbalit vše Re: OK alebo Failed? Bash
    Neodpovídá zadání tazatele testovat ci prikaz vratil nejaky vystup alebo nie. Proč se tedy ve správném řešení výstup programu zcela zahazuje?

    Myslím, že tazateli začátečníkovi by nejspíš vyskočila kopřivka, kdyby mu někdo poslal robustní řešení, kterému by těžko porozuměl. Například následující nebo jinou podobnou hrůzovinu :-D
    [[ -n "$(command 2>&1)" ]] && { echo OK || false && true; exit; } || (echo Failed; false)

    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.