Google Chrome 142 byl prohlášen za stabilní. Nejnovější stabilní verze 142.0.7444.59 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 20 bezpečnostních chyb. Za nejvážnější z nich bylo vyplaceno 50 000 dolarů. Vylepšeny byly také nástroje pro vývojáře.
Pro moddery Minecraftu: Java edice Minecraftu bude bez obfuskace.
Národní identitní autorita, tedy NIA ID, MeG a eOP jsou nedostupné. Na nápravě se pracuje [𝕏].
Americký výrobce čipů Nvidia se stal první firmou na světě, jejíž tržní hodnota dosáhla pěti bilionů USD (104,5 bilionu Kč). Nvidia stojí v čele světového trhu s čipy pro umělou inteligenci (AI) a výrazně těží z prudkého růstu zájmu o tuto technologii. Nvidia již byla první firmou, která překonala hranici čtyř bilionů USD, a to letos v červenci.
Po Canonicalu a SUSE oznámil také Red Hat, že bude podporovat a distribuovat toolkit NVIDIA CUDA (Wikipedie).
TrueNAS (Wikipedie), tj. open source storage platforma postavená na Linuxu, byl vydán ve verzi 25.10 Goldeye. Přináší NVMe over Fabric (NVMe-oF) nebo OpenZFS 2.3.4.
Byla vydána OpenIndiana 2025.10. Unixový operační systém OpenIndiana (Wikipedie) vychází z OpenSolarisu (Wikipedie).
České základní a střední školy čelí alarmujícímu stavu kybernetické bezpečnosti. Až 89 % identifikovaných zranitelností v IT infrastruktuře vzdělávacích institucí dosahuje kritické úrovně, což znamená, že útočníci mohou vzdáleně převzít kontrolu nad klíčovými systémy. Školy navíc často provozují zastaralé technologie, i roky nechávají zařízení bez potřebných aktualizací softwaru a používají k nim pouze výchozí, všeobecně známá
… více »Během tradiční ceremonie k oslavě Dne vzniku samostatného československého státu (28. října) byl vyznamenán medailí Za zásluhy (o stát v oblasti hospodářské) vývojář 3D tiskáren Josef Průša. Letos byly uděleny pouze dvě medaile Za zásluhy o stát v oblasti hospodářské, druhou dostal informatik a manažer Ondřej Felix, který se zabývá digitalizací státní správy.
Tor Browser, tj. fork webového prohlížeče Mozilla Firefox s integrovaným klientem sítě Tor přednastavený tak, aby přes tuto síť bezpečně komunikoval, byl vydán ve verzi 15.0. Postaven je na Firefoxu ESR 140.
((x++));
do POSIXu, je toto:
: $(( x+=1 ));
což má výhodu, že jméno proměnné píšete jen jednou.
Řetězec na vstup dostanete taky here-docem (výhoda: dá se použít i pro jiné deskriptory než 0):
command <<E1 3<<E2
... tohle jde na fd 0
E1
... a tohle na 3
E2
Ale pokud mam slozitejsi skript, tak zrovna [[ expr ]] urcite nechci nahrazovat, protoze [[ expr ]] je build-in a [ expr ] mi forkne dalsi proces. Proto je taky [[ rychlejsi..
V bashi jsou i test a [ builtin. Smysl [[ ... ]] vidím jen v tom, že má navíc operátor =~ (matchování regulárních výrazů) a že =, == a != matchují podle wildcards. Což ale může být dost matoucí, protože jsem přesvědčen, že nemalá část těch, kdo [[ ... ]] používají, tohle neví a myslí si, že porovnávají na rovnost.
[ expr ] mi forkne dalsi procesOpravdu? Najděte mi tedy ten fork:
jirka@debian:/tmp$ strace sh -c '[ 0 = 0 ]'
execve("/bin/sh", ["sh", "-c", "[ 0 = 0 ]"], [/* 46 vars */]) = 0
brk(0)                                  = 0x805f000
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
mmap2(NULL, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb785d000
access("/etc/ld.so.preload", R_OK)      = 0
open("/etc/ld.so.preload", O_RDONLY)    = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=35, ...}) = 0
mmap2(NULL, 35, PROT_READ|PROT_WRITE, MAP_PRIVATE, 3, 0) = 0xb785c000
close(3)                                = 0
munmap(0xb785c000, 35)                  = 0
open("/etc/ld.so.cache", O_RDONLY)      = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=140547, ...}) = 0
mmap2(NULL, 140547, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb783a000
close(3)                                = 0
access("/etc/ld.so.nohwcap", F_OK)      = -1 ENOENT (No such file or directory)
open("/lib/i686/cmov/libc.so.6", O_RDONLY) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0\320m\1\0004\0\0\0"..., 512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=1323460, ...}) = 0
mmap2(NULL, 1333608, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0xb76f4000
mmap2(0xb7834000, 12288, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x13f) = 0xb7834000
mmap2(0xb7837000, 10600, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7837000
close(3)                                = 0
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb76f3000
set_thread_area({entry_number:-1 -> 6, base_addr:0xb76f38d0, limit:1048575, seg_32bit:1, contents:0, read_exec_only:0, limit_in_pages:1, seg_not_present:0, useable:1}) = 0
mprotect(0xb7834000, 8192, PROT_READ)   = 0
mprotect(0xb787b000, 4096, PROT_READ)   = 0
munmap(0xb783a000, 140547)              = 0
getpid()                                = 20048
rt_sigaction(SIGCHLD, {SIG_DFL, [CHLD], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0
geteuid32()                             = 1000
brk(0)                                  = 0x805f000
brk(0x8080000)                          = 0x8080000
getppid()                               = 20047
stat64("/tmp", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=16384, ...}) = 0
stat64(".", {st_mode=S_IFDIR|S_ISVTX|0777, st_size=16384, ...}) = 0
rt_sigaction(SIGINT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGINT, {0x8056520, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGQUIT, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
rt_sigaction(SIGTERM, NULL, {SIG_DFL, [], 0}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL, ~[RTMIN RT_1], 0}, NULL, 8) = 0
exit_group(0)                           = ?
Tohle je dash, ale v bashi je to podobný, jen delší.
             16.2.2011 08:37
progdan             | skóre: 34
             | blog: Archař
             | Teplice/Brno
        16.2.2011 08:37
progdan             | skóre: 34
             | blog: Archař
             | Teplice/Brno
         16.2.2011 16:26
Jardík             | skóre: 40
             | blog: jarda_bloguje
        16.2.2011 16:26
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
        a pritom bys mel psat #!/usr/bin/env bashJako aby mi ty skripty nefungovaly při startu systému, pokud mám /usr na samostatném oddílu, jo?
 16.2.2011 20:12
Jardík             | skóre: 40
             | blog: jarda_bloguje
        16.2.2011 20:12
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         16.2.2011 21:21
Jardík             | skóre: 40
             | blog: jarda_bloguje
        16.2.2011 21:21
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         17.2.2011 01:10
Jardík             | skóre: 40
             | blog: jarda_bloguje
        17.2.2011 01:10
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
        Zrovna tak není možné přesměrovat standardní vstup i výstup...nema tam byt standartni i chybovy vystup?
 16.2.2011 09:55
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 09:55
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         16.2.2011 09:15
Marián Kyral             | skóre: 29
             | blog: Sem_Tam
             | Frýdek-Místek
        16.2.2011 09:15
Marián Kyral             | skóre: 29
             | blog: Sem_Tam
             | Frýdek-Místek
         16.2.2011 14:31
Marián Kyral             | skóre: 29
             | blog: Sem_Tam
             | Frýdek-Místek
        16.2.2011 14:31
Marián Kyral             | skóre: 29
             | blog: Sem_Tam
             | Frýdek-Místek
         16.2.2011 18:01
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 18:01
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         
             16.2.2011 18:38
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 18:38
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        Nebijte mě, ale boot trvá tak 20 - 30 s včetně bios.Jasně, takhle dlouho trvá i na Arch Linuxu, kterej má initskripty v Bashi. Takže zkrácení o desítky sekund by bylo v podstatě zrušení bootu
 
            x=$((x+1)) urcite neni kompatibilni s Bourne Shell.
$ sh -c 'x=1; x=$((x+1))'
sh: syntax error at line 1: `x=$' unexpected
$ sh -c 'x=1; x=$(($x+1))'
sh: syntax error at line 1: `x=$' unexpected
 16.2.2011 10:03
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 10:03
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        read dostane do podprocesu, těžko si šáhneme na proměnné z jeho výstupu:
read auto <<< $(echo nazdar | tr nr 'M '); echo $auto   # Funguje, protože proměnná $auto je ve stejném shellu
echo nazdar | tr nr 'M ' | read auto; echo $auto        # Většinou nefunguje, protože proměnná $auto zmizí i se svým podprocesem, viz níže
A někdy vás to opravdu překvapí - jako když ten příkaz read z příkladu výše začne najednou někde fungovat - a objevíte tím pádem nenápadnou větu z manuálové stránky ksh, sekce pipeline:
Each command, except possibly the last, is run as a separate process;A to jsou jen dvě drobnosti namátkou. Navíc autor článku správně zmiňuje fakt, že nemá smysl přepisovat konstrukce ve skriptu, když by člověk zůstal u GNU rozšíření ostatních programů - takže se k tomu přidají další konstrukce obcházející tyto nedostatky - a kód roste a roste... Zkrátka, je to procházka růžovým sadem (z pohledu ostatních - přeci si jen hraješ se skripty, co na tom je? Žádné programování kernelu...), kde v každém růžovém keři je minimálně jeden Semtex (z pohledu těch, co to zkusili). Kdysi jsem měl dvě nabídky práce: buď dělat v céčku a s Oracle databází nebo za o polovinu vyšší plat jít do jedné banky spravovat jejich shellové skripty. Zvolil jsem to první - a když jsem pak pomáhal s pár skripty pro zákazníky, pochopil jsem, jak moc mě v té chvíli osvítilo, že jsem se nenechal penězi zlákat...
 
             
             
             16.2.2011 15:52
Ruža Becelin             | skóre: 40
             | blog: RuzaBecelinBlog
        16.2.2011 15:52
Ruža Becelin             | skóre: 40
             | blog: RuzaBecelinBlog
            
        
function a {
typeset var localvariable = 0;
}
V tomto pripade promenna localvariable neni lokalni a je inicializovana pouze jednou.
Pokud by ale byla fce "a" deklarovana jako "function a()" tak by byla localvariable inicializovana pri kazdem volani.
             16.2.2011 10:18
Amarok             | skóre: 33
             | blog: blogoblog
        16.2.2011 10:18
Amarok             | skóre: 33
             | blog: blogoblog
            
         Aspon dalsi zajimavy clanek tady na abc.
 Aspon dalsi zajimavy clanek tady na abc.
             16.2.2011 12:58
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 12:58
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        Lidé v Bashi často používají příkaztestvoláním[[, …
Tady asi mělo být spíš nahrazují než používají.
sh") je definováno POSIXem (příslušná kapitola v poslední verzi zde, rozhodně lze doporučit k přečtení). Příliš nechápu, proč je v článku sh volně zaměňován s dashem. Skoro mi až přijde, že v tom sám autor má tak trochu zmatek, slovo POSIX se v článku neobjevuje ani jednou...
             16.2.2011 18:54
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        16.2.2011 18:54
Luboš Doležel (Doli)             | skóre: 98
             | blog: Doliho blog
             | Kladensko
        echo $(whoami)
echo `whoami`btw, jak se da napsat ` ve windows?
 16.2.2011 19:39
Jardík             | skóre: 40
             | blog: jarda_bloguje
        16.2.2011 19:39
Jardík             | skóre: 40
             | blog: jarda_bloguje
            
         17.2.2011 18:38
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        17.2.2011 18:38
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        Na druhou stranu tam znak ` nikde nepotřebujete, leda byste byl úchyl používající šmejďárnu typu cygwin.A co pracovat vzdáleně na nějakém unixu?
 16.2.2011 19:47
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 19:47
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        sh je tento:
$ echo $(whoami)
syntax error: `(' unexpected
$ echo `whoami`
dave
V bashi je ovšem často pohodlnější používat $( ). Je to přehlednější (zvlášť při vnořování), nedá se to snadno zaměnit.
A nakonec rozdíl (v bashi):
When the old-style backquote form of substitution is used, backslash retains its literal meaning except when followed by $, `, or \. The first backquote not preceded by a backslash terminates the command substitution. When using the $( command ) form, all characters between the parentheses make up the command; none are treated specially.
 16.2.2011 20:41
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
        16.2.2011 20:41
David Watzke             | skóre: 74
             | blog: Blog...
             | Praha
         
$ uname -a
SunOS srv 5.6 Generic_105181-39 sun4u sparc SUNW,Ultra-5_10
$ echo $(whoami)
ksh: whoami:  not found
$ echo $(who am i)
xxxxxxx pts/1 Feb 17 12:20 (xxxxxxxxxxx)
$ sh
$ echo $(whoami)
syntax error: `(' unexpected
            # uname -a SunOS dedek 5.6 Generic_105181-39 sun4u sparc SUNW,Ultra-5_10 # exec /usr/xpg4/bin/sh # echo $(/usr/ucb/whoami) juzrVyřešeno, byť systém už dávno není podporován, léta na něj neexistují patche a jen blázen by nechával v produkci cokoli staršího než Solaris 9. A po celou dobu až do současných verzí je to pořád stejné, na stejném místě a se stejným chováním. A překvapení, i AIX má /usr/ucb a hle, AIXovský /bin/sh je ve skutečnosti normovaný ksh a většina toolů v AIXu je prostě POSIX/XPG4. Pokud chcete přenositelnost, nezbývá než číst dokumentaci (
 , užívat POSIX/XPG4 nástroje a upravovat cesty. Shell? ksh. To je normované a konzistentní. awk? nawk. sed, ps atd - opět hledejte POSIXové. Složité konstrukce, výrazy apod? Proč v shellu?
Ve start skriptech systému vážně netřeba speciálních konstrukcí a už vůbec ne přenositelnosti. A startovat aplikaci bude stejně lepší s ksh (nebo perl, etc). Buď totiž startujete obecnou aplikaci a potřebujete přenositelnost, ale tehdy vám stačí jednoduchý sh wrapper kolem skutečného start skriptu, a ten už může být v čemkoli a to cokoli klidně distribuujte s aplikací. Nebo děláte komplikovanou akci při startu systému (nebo v udev na Linuxu a tak), která musí doběhnout i s nenamountovaným /usr apod, ale pak to stejně bude silně system-specific a šijete to tedy na míru daného shellu a systému.
Přeji trpělivost, dobré oči a pěkný den.
, užívat POSIX/XPG4 nástroje a upravovat cesty. Shell? ksh. To je normované a konzistentní. awk? nawk. sed, ps atd - opět hledejte POSIXové. Složité konstrukce, výrazy apod? Proč v shellu?
Ve start skriptech systému vážně netřeba speciálních konstrukcí a už vůbec ne přenositelnosti. A startovat aplikaci bude stejně lepší s ksh (nebo perl, etc). Buď totiž startujete obecnou aplikaci a potřebujete přenositelnost, ale tehdy vám stačí jednoduchý sh wrapper kolem skutečného start skriptu, a ten už může být v čemkoli a to cokoli klidně distribuujte s aplikací. Nebo děláte komplikovanou akci při startu systému (nebo v udev na Linuxu a tak), která musí doběhnout i s nenamountovaným /usr apod, ale pak to stejně bude silně system-specific a šijete to tedy na míru daného shellu a systému.
Přeji trpělivost, dobré oči a pěkný den.
            Zase někdo, kdo tvrdí, že něco nejdenetvrdim, ze neco nejde. jen jsem reagoval na skutecnost, ze vychozi nastaveni muze nekoho prekvapit, pokud se systemem bezne nepracuje. takze jste se zbytecne rozepisoval, ale treba to nekomu jinemu poskytlo zajimave informace.
[ conditional_expr ] # Provided for Bourne shell compatibility (obsolete) [[ conditional_expr ]] # POSIX and Korn shell specific syntax (preferred)... Tak nevím...
 17.2.2011 18:40
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        17.2.2011 18:40
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
         18.2.2011 15:54
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        18.2.2011 15:54
Jendа             | skóre: 78
             | blog: Jenda
             | JO70FB
        nebo dokonce jejich kombinacíPomocí kombinace se na české píše jenom pípa
|, ale na spoustě klávesnic je „pička key“ (klávesa označovaná v GNOME jako <|>), která píše | a \.
            Mně zase přijde praktičtější zvyknout si na jedno rozložení a pak používat to. Ale je pravda, že takových jako já asi moc není.Já taky používám pořád českou QWERTY. Ze známých osobností pak minimálně RH a to už něco znamenánebo dokonce jejich kombinací
 
             A ako som skusal, tak na anglickej je to ta klavesa vedla "1" (niekomu to nefunguje?)...
A ako som skusal, tak na anglickej je to ta klavesa vedla "1" (niekomu to nefunguje?)...
             
             21.2.2011 11:18
Petr Tomášek             | skóre: 39
             | blog: Vejšplechty
        21.2.2011 11:18
Petr Tomášek             | skóre: 39
             | blog: Vejšplechty
            
         21.2.2011 18:22
Amarok             | skóre: 33
             | blog: blogoblog
        21.2.2011 18:22
Amarok             | skóre: 33
             | blog: blogoblog
            
         21.2.2011 19:44
⧠ A = 0             | skóre: 11
             | blog: Technokratovo_zrcadlo
             | Helsinki
        21.2.2011 19:44
⧠ A = 0             | skóre: 11
             | blog: Technokratovo_zrcadlo
             | Helsinki
        ...se přestal používat ve skriptech na úkor o dost výkonnějšího Dash...Ach jo.
?? Ach ne....se přestal používat ve skriptech na úkor o dost výkonnějšího Dash...Ach jo.
        Tiskni
            
                Sdílej:
                 
                 
                 
                 
                 
                