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 15:44 | Komunita

V říjnu byla změněna licence u multiplatformní dokumentové databáze MongoDB z GNU AGPLv3 na SSPL (Server Side Public License). Dle právníku se nejedná o svobodnou licenci. Databáze MongoDB tak nebude obsažena ve Fedoře, v Red Hat Enterprise Linuxu ani například v Debianu.

Ladislav Hagara | Komentářů: 3
dnes 02:22 | Nová verze

Byla vydána verze 2.0 svobodné aplikace určené pro fotografování a ovládání digitálních fotoaparátů z počítače Entangle. Kódové jméno této nejnovější verze je Sodium.

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

Byla vydána verze 2.18 svobodného webového prohlížeče pracujícího v grafickém i textovém módu Links (Wikipedie). Přehled novinek v seznamu změn. Links letos slaví 20 let. První veřejná verze 0.80 byla zveřejněna 24. listopadu 1999.

Ladislav Hagara | Komentářů: 3
včera 16:55 | Zajímavý článek

Vývojáři postmarketOS (GitLab) hodnotí 600 dnů vývoje tohoto v květnu 2017 představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky [reddit].

Ladislav Hagara | Komentářů: 2
včera 15:55 | Bezpečnostní upozornění

Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 284 bezpečnostních chyb. V Oracle Java SE je například opraveno 5 bezpečnostních chyb. Všechny jsou vzdáleně zneužitelné bez autentizace. V Oracle MySQL je opraveno 30 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace jsou 3 z nich.

Ladislav Hagara | Komentářů: 0
včera 15:44 | Komunita

Na YouTube byly zveřejněny komunitní videozáznamy přednášek z konference OpenAlt 2018. Letošní OpenAlt proběhne o víkendu 2. a 3. listopadu opět na FIT VUT v Brně.

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

Mozilla.cz informuje (en), že program Firefox Test Pilot se příští týden uzavře. Program sloužil téměř tři roky pro testování nových funkcí pro Firefox. Díky němu dnes máme stránku nového panelu, Screenshots pro vytváření snímků stránek, bezpečné sdílení souborů Send, doplněk pro lepší práci a přihlašování k více účtům nebo připravovaný správce hesel Lockbox. Tyto funkce pokračují dál, ale samotný Firefox Test Pilot bude 22. ledna 2019

… více »
Ladislav Hagara | Komentářů: 0
15.1. 21:45 | Zajímavý projekt

Humble Bundle v rámci akce Double Fine Presents nabízí skupinu multiplatformních her bez DRM za vlastní cenu: Mountain, 140 a THOTH (jako jediná nikoliv pro Linux), za nadprůměrnou cenu navíc GNOG a Escape Goat 2 a za aspoň $10 Gang Beasts a Everything. Platbu lze rozdělit mezi vývojáře, Humble Bundle a charitu. Akce probíhá do 29. ledna.

Fluttershy, yay! | Komentářů: 2
15.1. 17:22 | Nová verze

Laboratoře CZ.NIC vydaly novou verzi 4.12.0 aplikace Datovka, tj. svobodné multiplatformní desktopové aplikace pro přístup k datovým schránkám a k trvalému uchovávání datových zpráv v lokální databázi.

Ladislav Hagara | Komentářů: 0
15.1. 17:00 | IT novinky

Byla zveřejněna pravidla hackerské soutěže Pwn2Own Vancouver 2019, jež proběhne od 20. do 22. března v rámci bezpečnostní konference CanSecWes. Vedle virtualizačních softwarů nebo webových prohlížečů se bude letos útočit i na automobil Tesla Model 3.

Ladislav Hagara | Komentářů: 0
Používáte USB Type-C?
 (19%)
 (16%)
 (10%)
 (12%)
 (37%)
 (3%)
 (45%)
Celkem 379 hlasů
 Komentářů: 0
Rozcestník

Vtipná konstrukce v shellu

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

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: 37 | 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: 37 | 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: 37 | 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: 37 | 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.