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 21:44 | Nová verze

    Byl vydán Mozilla Firefox 143.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Nově se Firefox při ukončování anonymního režimu zeptá, zda chcete smazat stažené soubory. Dialog pro povolení přístupu ke kameře zobrazuje náhled. Obzvláště užitečné při přepínání mezi více kamerami. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 143 bude brzy k dispozici také na Flathubu a Snapcraftu.

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

    Byla vydána betaverze Fedora Linuxu 43 (ChangeSet), tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 21. října.

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

    Multiplatformní emulátor terminálu Ghostty byl vydán ve verzi 1.2 (𝕏, Mastodon). Přehled novinek, vylepšení a nových efektů v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 00:11 | Nová verze

    Byla vydána nová verze 4.5 (𝕏, Bluesky, Mastodon) multiplatformního open source herního enginu Godot (Wikipedie, GitHub). Přehled novinek i s náhledy v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    včera 21:33 | Nová verze

    Byla vydána verze 3.0 (Mastodon) nástroje pro záznam a sdílení terminálových sezení asciinema (GitHub). S novou verzí formátu záznamu asciicast v3, podporou live streamingu a především kompletním přepisem z Pythonu do Rustu.

    Ladislav Hagara | Komentářů: 0
    včera 21:00 | Komunita

    Canonical oznámil, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie) v Ubuntu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Tržní hodnota americké společnosti Alphabet, která je majitelem internetového vyhledávače Google, dnes poprvé překonala hranici tří bilionů dolarů (62,1 bilionu Kč). Alphabet se připojil k malé skupině společností, které tuto hranici pokořily. Jsou mezi nimi zatím americké firmy Nvidia, Microsoft a Apple.

    Ladislav Hagara | Komentářů: 2
    včera 20:33 | IT novinky

    Spojené státy a Čína dosáhly dohody ohledně pokračování populární čínské platformy pro sdílení krátkých videí TikTok v USA. V příspěvku na síti Truth Social to dnes naznačil americký prezident Donald Trump. Dosažení rámcové dohody o TikToku vzápětí oznámil americký ministr financí Scott Bessent, který v Madridu jedná s čínskými představiteli o vzájemných obchodních vztazích mezi USA a Čínou. Bessentova slova později potvrdila také čínská strana.

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

    MKVToolNix, tj. sada nástrojů pro práci s formátem (medialnym kontajnerom) Matroska, byl vydán ve verzi 95.0. Podpora přehrávání formátu Matroska míří do Firefoxu [Bug 1422891, Technický popis]. Přehrávání lze již testovat ve Firefoxu Nightly.

    Ladislav Hagara | Komentářů: 0
    13.9. 17:33 | Pozvánky

    Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 211. sraz, který proběhne v pátek 19. září od 18:00 ve Studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Na srazu proběhne přednáška Jiřího Eischmanna o nové verzi prostředí GNOME 49. Nemáte-li možnost se zúčastnit osobně, přednáškový blok bude opět streamován živě na server VHSky.cz a následně i zpřístupněn záznam.

    Ladislav Hagara | Komentářů: 0
    Pro otevření více webových stránek ve webovém prohlížečí používám
     (81%)
     (6%)
     (4%)
     (3%)
     (4%)
     (2%)
    Celkem 187 hlasů
     Komentářů: 12, poslední 10.9. 13:00
    Rozcestník

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

    9.8.2012 11:11 MM
    BASH - Jednořádkové podmínky
    Přečteno: 402×
    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.