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

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 5
    dnes 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 1
    dnes 12:44 | Nová verze

    Po AlmaLinuxu byl v nové stabilní verzi 10.1 vydán také Rocky Linux. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    dnes 04:00 | Zajímavý software

    Open source reimplementace počítačových her Tomb Raider I a Tomb Raider II spolu s dalšími vylepšeními a opravami chyb TRX byla vydána ve verzi 1.0. Jedná se o sloučení projektů / enginů TR1X a TR2X do jednoho TRX. Videoukázka na YouTube.

    Ladislav Hagara | Komentářů: 1
    včera 17:00 | IT novinky

    Společnost Seznam.cz spouští konverzační nástroj založený na umělé inteligenci Seznam Asistent. Asistent využívá vlastní jazykový model SeLLMa a dočasně i komerční modely od OpenAI provozované v evropských datacentrech prostřednictvím Microsoft Azure. Dlouhodobým cílem Seznamu je provozovat Asistenta výhradně na interních jazykových modelech a ve vlastních datových centrech.

    Ladislav Hagara | Komentářů: 6
    včera 11:55 | Zajímavý software

    Software LibrePods osvobozuje bezdrátová sluchátka AirPods z ekosystému Applu. Exkluzivní funkce AirPods umožňuje využívat na Androidu a Linuxu. Díky zdokumentování proprietárního protokolu AAP (Apple Accessory Protocol).

    Ladislav Hagara | Komentářů: 1
    včera 05:00 | Nová verze

    Byl vydán AlmaLinux OS 10.1 s kódovým názvem Heliotrope Lion. S podporou Btrfs. Podrobnosti v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    včera 04:33 | Komunita

    Placená služba prohledávání zprostředkovatelů dat a automatického odstraňování uniklých osobních údajů Mozilla Monitor Plus bude 17. prosince ukončena. Bezplatná monitorovací služba Mozilla Monitor bude i nadále poskytovat okamžitá upozornění a podrobné pokyny k omezení rizik úniku dat. Služba Mozilla Monitor Plus byla představena v únoru loňského roku.

    Ladislav Hagara | Komentářů: 0
    24.11. 22:44 | Nová verze

    Waydroid (Wikipedie, GitHub) byl vydán v nové verzi 1.6.0. Waydroid umožňuje spouštět aplikace pro Android na běžných linuxových distribucích. Běhové prostředí vychází z LineageOS.

    Ladislav Hagara | Komentářů: 4
    24.11. 15:44 | Nová verze

    Příspěvek na blogu Raspberry Pi představuje novou kompletně přepracovanou verzi 2.0 aplikace Raspberry Pi Imager (YouTube) pro stažení, nakonfigurování a zapsání obrazu operačního systému pro Raspberry Pi na SD kartu. Z novinek lze vypíchnout volitelnou konfiguraci Raspberry Pi Connect.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (35%)
     (46%)
     (19%)
     (18%)
     (22%)
     (15%)
     (23%)
     (16%)
     (17%)
    Celkem 401 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Vtipná konstrukce v shellu

    28.1.2018 21:33 | Přečteno: 2132×

    Objevení chyby v shellu, aneb jak (ne)funguje počítání v různých klonech

    Jelikož jsem líný programátor, tak v mén bashovském skriptu se vyskytují poněkud komprimované výrazy typu:
     $(($VAL1-$VAL2)) 
    Tedy vyskytovaly dodnes, když jsem zjistil, že pokud je busyboxu definováno VAL2=-1, tak celý skript padne na chybném výrazu (dvě mínus vedle sebe). Zajímavé, že v bashi to fungovalo.

    BTW jsem ani nevěděl, že se nemusí ty "$" uvnitř "$(())" u proměnných používat.

    Poslal jsem tedy bug report (musím pochválit, opraveno během hodiny), ale ještě jsem se v tom vrtal (teď už v bashi) a následující chování je taky vtipné i když nejspíš korektní:
     
    $((x+++y)) #inkrementuje x 
    $((x+++1)) #inkrementuje x 
    $((1+++y)) #inkrementuje y 
    $((1+++1)) #funguje jako součet = 2, nejspíš to postinkrementuje tu první "1" 
    

    Ale nejvíc jsem byl překvapený po tom, co jsem z legrace vykonstruoval frankensteinové monstrum a ono se spustilo!:
     echo $x $((0 + --++--++--x--++--++-- + 0)) $x 
    Na mém bashi (GNU 4.4.12(1)-release) se překvapivě provede (s x=0). Schválně si ale v komentech bez spuštění tipněte, jaký výsledek to vyhodí. Na mém stroji mi přijde výsledek nelogický.

    P.S. Jestli to je chyba bashe, tak by se mě hodila pomoc, jak to vysvětlit v bugreportu pomocí priority operátorů :-D.        

    Hodnocení: 80 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    dolik.rce avatar 28.1.2018 22:01 dolik.rce
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Nevím jak v shellu, ale třeba v C++ je použití preincrementu a postincrementu v jednom statementu undefined behavior. Takže to legálně může vrátit úplně cokoliv :-)
    29.1.2018 14:28 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Jj, ale vypadá to, že bash preferuje postinkrement prvního operandu.
    Bedňa avatar 29.1.2018 01:19 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Tak to je riadna pičovina hodná xkcd, dík za fakt humorný blog :-D Musel som to jebnúť na Reddit aby ti s tím pomohli :-D
    KERNEL ULTRAS video channel >>>
    29.1.2018 14:32 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Mám ještě jednu vtipnější :-P.

    Ten reddit je asi tohle, že?
    Bedňa avatar 29.1.2018 19:45 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Mám ještě jednu vtipnější :-P.
    Daj to sem :)
    Ten reddit je asi tohle, že?
    Jj to je ono.
    KERNEL ULTRAS video channel >>>
    30.1.2018 14:45 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    To není věc na mikrozápisek napsaný za půl hoďky.
    Bedňa avatar 30.1.2018 17:57 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Tak to už asi taká sranda nebude ;)
    KERNEL ULTRAS video channel >>>
    Bedňa avatar 30.1.2018 20:17 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Daj to kámo.
    KERNEL ULTRAS video channel >>>
    31.1.2018 21:42 pc2005 | skóre: 38 | blog: GardenOfEdenConfiguration | liberec
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    No časem, on to někdo musí napsat že :-P . Respektive někdo musí přepsat kód toho projektu aby to při zveřejnění nebyl zas až takový cringe :-D.
    Bedňa avatar 1.2.2018 18:50 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Vtipná konstrukce v shellu
    Tak ak to ostane čas, tešíme sa :-)
    KERNEL ULTRAS video channel >>>

    Založit nové vláknoNahoru

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