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 16:44 | Zajímavý software

Na Kickstarteru lze podpořit vývoj svobodného softwarového nástroje Akira, jenž by měl umožnit designérům designování aplikací v Linuxu. Mělo by se jednat o alternativu k proprietárním nástrojům Sketch, Figma nebo Adobe XD.

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

V Edici CZ.NIC vyšla kniha CyberSecurity věnovaná problematice kybernetické bezpečnosti, a to především jejím základním principům, které by měl respektovat každý, kdo využívá informační a komunikační technologie. Kniha je ke stažení zcela zdarma pod licenci Creative Commons (CC BY-ND 3.0 CZ) (pdf, epub, mobi).

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

Byla vydána nová stabilní verze 0.92.4 a první alfa verze verze 1.0 svobodného multiplatformního vektorového grafického editoru Inkscape. Přehled novinek v poznámkách k vydání (0.92.4 a 1.0alpha0). Obě verze jsou k dispozici také jako balíčky ve formátu AppImage. Stačí je stáhnout, nastavit právo ke spuštění a spustit.

Ladislav Hagara | Komentářů: 6
17.1. 21:22 | Nová verze

Byla vydána verze 1.32 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.

Ladislav Hagara | Komentářů: 0
17.1. 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ářů: 18
17.1. 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
17.1. 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ářů: 5
16.1. 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
16.1. 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
16.1. 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
Používáte USB Type-C?
 (19%)
 (16%)
 (11%)
 (12%)
 (37%)
 (3%)
 (45%)
Celkem 402 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.