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í
×
    včera 21:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.0 oznámil Linus Torvalds vydání Linuxu 7.1. Přehled novinek a vylepšení na LWN.net: první a druhá polovina začleňovacího okna a časem také na Linux Kernel Newbies.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý software

    Cheat Engine (Wikipedie) je s verzí 7.7 k dispozici už také pro Linux. Jedná se o proprietární skener/debugger paměti používaný především k cheatování v počítačových hrách.

    Ladislav Hagara | Komentářů: 0
    13.6. 15:22 | IT novinky

    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.

    Ladislav Hagara | Komentářů: 6
    13.6. 02:22 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    12.6. 16:33 | Bezpečnostní upozornění

    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.

    Ladislav Hagara | Komentářů: 11
    12.6. 11:33 | Nová verze

    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.

    |🇵🇸 | Komentářů: 0
    12.6. 03:33 | Bezpečnostní upozornění

    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.

    Ladislav Hagara | Komentářů: 2
    11.6. 14:11 | Komunita

    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.

    Ladislav Hagara | Komentářů: 5
    11.6. 10:44 | Nová verze

    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.

    Ladislav Hagara | Komentářů: 0
    11.6. 04:44 | Nová verze

    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.

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


    Dotaz: BASH - Jednořádkové podmínky

    9.8.2012 11:11 MM
    BASH - Jednořádkové podmínky
    Přečteno: 439×
    Ahoj, mám takovou podmínku, ale return se provede vždy, proč? Díky
    [ $? == 1 ] || [ $? == 255 ] && rm -f $DIALOG; return

    Řešení dotazu:


    Odpovědi

    9.8.2012 11:25 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky

    Protože je oddělen středníkem, takže nemá s předchozím složeným příkazem nic společného. Středník je víceméně ekvivalentní konci řádku.

    Osobně bych se vykašlal na šetření znaky a upřednostnil srozumitelnost:

    if [ $? = 1 -o $? = 255 ]; then
      rm -f "$DIALOG"
      return
    fi
    

    Skládání operátorů || a && je strašně náchylné na chyby a je lepší se mu vyhnout.

    9.8.2012 12:17 loupak
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Pokud nepotrebujes else vetev, tak takle
    [ $? = 1 -o $? = 255 ] && {
      rm -f "$DIALOG"
      return
    }
    
    9.8.2012 12:29 Kit
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Ono to funguje i s větví else, ale občas se v tom nasekají chyby.
    [ $? = 1 -o $? = 255 ] && {
      rm -f "$DIALOG"
      return
    } || {
      echo "Větev else"
    }
    
    9.8.2012 13:09 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky

    To je právě to, na co jsem narážel v první odpovědi:

      A && B || C
    

    lze použít pouze v případě, kdy máme jistotu, že B nemůže selhat (jako v tom vašem příkladu), jinak se provedou B i C.

    9.8.2012 13:21 Kit
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Zajímavé chování. Stačí na konec B přidat příkaz, který zaručeně neselže a C se neprovede ani když uvnitř B něco selže. Chová se to pak podle původního předpokladu.
    9.8.2012 14:09 Michal Kubeček | skóre: 71 | Luštěnice
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky

    To chování je logickým důsledkem pravidel, podle kterých ty operátory fungují:

    • v konstrukci A && B se druhý příkaz provádí, pokud první vrátí nulu
    • v konstrukci A || B se druhý příkaz provádí, pokud první vrátí nenulu
    • v obou případech je návratovou hodnotou složeného příkazu návratová hodnota posledního příkazu, který se provedl
    • asociuje se zleva

    Bohužel nadužívání ve skriptech často vede k tomu, že kdo ta pravidla nezná, bere operátory jako if-then a else a pak může být nemile překvapen.

    9.8.2012 18:59 MM
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Hm, ať se dívám jak se dívám, tak přepinač -o jsem fakt nikde nenašel.. Nějaký zdroj? A jak se zapisuje třeba OR ? Díky

    http://www.abclinuxu.cz/clanky/navody/bash-iii
    9.8.2012 19:48 Kit
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    -o v daném místě není přepínač, ale operátor OR.
    9.8.2012 19:56 MM
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Dík, a operátor AND se zapisuje jak?
    9.8.2012 20:04 Kit
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Nepřipadáš si trapně? Když zadáš
    man test
    tak je to hned na první stránce společně s dalšími operátory.
    9.8.2012 20:18 MM
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Konečně kur*a pořádný manuál !! Dík, akorát teda slovo test se mi s tím nějak nespojuju :-)
    9.8.2012 20:26 Kit
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Hranaté závorky jsou jen syntaktický cukr pro příkaz test.
    Pavel Stárek avatar 10.8.2012 12:11 Pavel Stárek | skóre: 43 | blog: Tady bloguju já :-) | Kolín
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    info bash je ještě možná lepší.
    Kdo chce, hledá způsob; kdo nechce, hledá důvod.
    10.8.2012 17:14 Sten
    Rozbalit Rozbalit vše Re: BASH - Jednořádkové podmínky
    Anebo rovnou
    man [
    :-)

    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.