Společnost Framework Computer představila (YouTube) nový výkonnější Framework Laptop 16. Rozhodnou se lze například pro procesor Ryzen AI 9 HX 370 a grafickou kartu NVIDIA GeForce RTX 5070.
Google oznamuje, že na „certifikovaných“ zařízeních s Androidech omezí instalaci aplikací (včetně „sideloadingu“) tak, že bude vyžadovat, aby aplikace byly podepsány centrálně registrovanými vývojáři s ověřenou identitou. Tato politika bude implementována během roku 2026 ve vybraných zemích (jihovýchodní Asie, Brazílie) a od roku 2027 celosvětově.
Byla vydána nová verze 21.1.0, tj. první stabilní verze z nové řady 21.1.x, překladačové infrastruktury LLVM (Wikipedie). Přehled novinek v poznámkách k vydání: LLVM, Clang, LLD, Extra Clang Tools a Libc++.
Alyssa Anne Rosenzweig v příspěvku na svém blogu oznámila, že opustila Asahi Linux a nastoupila do Intelu. Místo Apple M1 a M2 se bude věnovat architektuře Intel Xe-HPG.
EU chce (pořád) skenovat soukromé zprávy a fotografie. Návrh "Chat Control" by nařídil skenování všech soukromých digitálních komunikací, včetně šifrovaných zpráv a fotografií.
Byly publikovány fotografie a všechny videozáznamy z Python konference PyCon US 2025 proběhlé v květnu.
Společnost xAI a sociální síť X amerického miliardáře Elona Muska zažalovaly firmy Apple a OpenAI. Viní je z nezákonné konspirace s cílem potlačit konkurenci v oblasti umělé inteligence (AI).
Byla vydána nová verze 9.16 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání.
Americká vláda se po převzetí zhruba desetiprocentního podílu ve výrobci čipů Intel chystá na další investice do vybraných firem. Na sociální síti Truth Social to napsal prezident Donald Trump. Jeho ekonomický poradce Kevin Hassett v rozhovoru v televizi CNBC řekl, že nemusí jít pouze o firmy z technologického sektoru, ale i z jiných odvětví.
V Amsterdamu probíhá Open Source Summit Europe. Organizace Linux Foundation představuje novinky. Pod svá křídla převzala open source dokumentovou databázi DocumentDB.
Chtěl jsem si ušetřit práci zpracováním seznamu předaného smyčce a narazil na zajímavý problém. Nějak prapodivně mi funguje echo ve smyčce.
Asi nejlépe to bude demonstrovat na příkladu:
user@stroj:~$ cat osoby.txt ja ty on ona ono user@stroj:~$ for i in $(<osoby.txt); do echo "aa$i" ; done aaja aaty aaon aaona aaono user@stroj:~$ for i in $(<osoby.txt); do echo "$iaa" ; done user@stroj:~$ for i in $(<osoby.txt); do echo "$i aa" ; done aa aa aa aaa aaoNějak se nemůžu zbavit dojmu, že by správně měl výsledek druhé smyčky vypadat takto:
user@stroj:~$ for i in $(<osoby.txt); do echo "$iaa" ; done jaaa tyaa onaa onaaa onoaa user@stroj:~$ for i in $(<osoby.txt); do echo "$i aa" ; done ja aa ty aa on aa ona aaa ono aaProtože když udělám spojení proměnné s řetězcem přímo, tak to vypadá takto..
user@stroj:~$ osoba="nekdo" user@stroj:~$ echo "$osoba jiny" nekdo jinyJe to normální? Nebo dělám někde něco blbě? Nebo mi už hrabe?
Tiskni
Sdílej:
"$iaa" je evidentne blbe - promenou iaa tam nemas. Kdyztak "${i}aa". Nevim, proc ti nefunguje "$i aa", to by melo byt v poradku. Mozna zkus nahradit vyraz v for cyklu na `cat soubor` (a nebo jeste lepe pouzit 'while read i'), zda neni problem v tom.
Nevim, proc ti nefunguje "$i aa"
, to by melo byt v poradku.
To je opravdu v pořádku:
mike@unicorn:~/tmp> for i in $(<osoby.txt); do echo "$i aa" ; done ja aa ty aa on aa ona aa ono aa
Problém tazatele bude nejspíš v něčem jiném, co v této ukázce není vidět.
"$i aa"
byl ve skutečnosti CR.
echo "$iaa"
by mělo být takto: echo "${i}aa"
, ne?
Proč záhadného? Záhadné by bylo, kdyby k ní nedošlo. Vyskytne-li se za dolarem písmeno* nebo podtržítko, pak se všechno, co následuje až k prvnímu znaku, který není písmeno*, číslice nebo podtržítko, považuje za název proměnné a výsledkem expanze je hodnota této proměnné. Neexistuje-li, výsledkem expanze je prázdný řetězec.
* anglické abecedy
No v tom pripade skript vlastne perfektne fungoval.
$iaa
, jestli je to promenna $i a text aa, nebo promenna $ia a text "a" nebo promenna "$iaa". Proto se pouzivaji zapisy "${promenna}text", kterym se jasne vymezi, co je promenna.
A ten problem s tim "$i aa" je takovej docela chytacek:) uz jsem se s tim taky setkal:) Je to problem mezi svetem Windows a Unix. Tipuju, ze jsi ten soubor vytvoril na woknech a pak jsi to bez konverze zkousel na linuxu. Cili radky obsahuji:
ja[CR][LF] ty[CR][LF] on[CR][LF] ona[CR][LF] ono[CR][LF]Bash potom do promenny $i nacpe napr. "ja[CR]" a [LF] odmaze a kdyz to pak tisknes, tak se vytiskne $i jako "ja[CR]" a [CR] je carriage return (posun kurzoru na zacatek radky), takze zbytek textu " aa" se napise zase od zacatku radky, proto prepise ten text z promenny $i:) Hezkej chytak, co?:)
Jen tak pro zajímavost, to tvrzení "Tohle plati u vsech jazyku" je přecejenom trochu moc silné.
Existují i jazyky a skripty, kde to funguje jinak. Oba níže uvedené příkazy pro vypsání hodnoty vypíší shodný řetězec. Jaký GNU program čte tuto syntaxi ponechávám na laskavém čtenáři.
a=testa
$(warning testa="$atest")
$(warning testa="$(a)test")