Byly publikovány informace o další zranitelnosti v procesorech. Nejnovější zranitelnost byla pojmenována VMScape (CVE-2025-40300, GitHub) a v upstream Linuxech je již opravena. Jedná se o variantu Spectre. KVM host může číst data z uživatelského prostoru hypervizoru, např. QEMU.
V červenci loňského roku organizace Apache Software Foundation (ASF) oznámila, že se částečně přestane dopouštět kulturní apropriace a změní své logo. Dnes bylo nové logo představeno. "Indiánské pírko" bylo nahrazeno dubovým listem a text Apache Software Foundation zkratkou ASF. Slovo Apache se bude "zatím" dál používat. Oficiální název organizace zůstává Apache Software Foundation, stejně jako názvy projektů, například Apache HTTP Server.
Byla vydána (𝕏) srpnová aktualizace aneb nová verze 1.104 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.104 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Spotify spustilo přehrávání v bezztrátové kvalitě. V předplatném Spotify Premium.
Spoluzakladatel a předseda správní rady americké softwarové společnosti Oracle Larry Ellison vystřídal spoluzakladatele automobilky Tesla a dalších firem Elona Muska na postu nejbohatšího člověka světa. Hodnota Ellisonova majetku díky dnešnímu prudkému posílení ceny akcií Oraclu odpoledne vykazovala nárůst o více než 100 miliard dolarů a dosáhla 393 miliard USD (zhruba 8,2 bilionu Kč). Hodnota Muskova majetku činila zhruba 385 miliard dolarů.
Bylo vydáno Eclipse IDE 2025-09 aneb Eclipse 4.37. Představení novinek tohoto integrovaného vývojového prostředí také na YouTube.
T-Mobile od 15. září zpřístupňuje RCS (Rich Communication Services) zprávy i pro iPhone.
Společnost ARM představila platformu Arm Lumex s Arm C1 CPU Cluster a Arm Mali G1-Ultra GPU pro vlajkové chytré telefony a počítače nové generace.
Unicode Consortium, nezisková organizace koordinující rozvoj standardu Unicode, oznámila vydání Unicode 17.0. Přidáno bylo 4 803 nových znaků. Celkově jich je 159 801. Přibylo 7 nových Emoji.
Apple představil (YouTube) telefony iPhone 17 Pro a iPhone 17 Pro Max, iPhone 17 a iPhone Air, sluchátka AirPods Pro 3 a hodinky Watch Series 11, Watch SE 3 a Watch Ultra 3.
Řešení dotazu:
source "$(dirname $0)/foo/bar"nebo takto ?
source $(dirname $0)/foo/barDíky
source "$(dirname "$0")/foo/bar"
;)
OT: Takové source-ování nebude fungovat jak asi chceš při použití linek.
source $(dirname $0)/foo/bar
source "$(dirname "$0")/foo/bar"Ale zjištění adresáře nebude vždy, to co si asi zamýšlíš.
Mám pocit, že tě napínám, takže příklad:
Příprava:
mkdir kuk echo -e "#\!/bin/bash\n\necho \"\$(dirname \"\$0\")/foo/bar\"\n" > kuk/do.bash ln -s kuk/do.bash dolink ln -s kuk kuklink chmod +x kuk/do.bash
Test:
./kuk/do.bash ./dolink ./kuklink/do.bash
Otázka:
Chceš to tak?
Úklid:
rm ./dolink rm ./kuk/do.bash rm ./kuklink rmdir kuk
Výstup z těch ukázek:
$ ./kuk/do.bash -> ./kuk/foo/bar - OK $ ./dolink -> ./foo/bar - ??? $ ./kuklink/do.bash -> ./kuklink/foo/bar - OK!
„¡Studenti! pokud nechápe výklad je chyba přednášejícího, ne vaše …rozumíte tomu?“…
Kromě případu, kdy chceš z proměnné s mezerami vytvořit pole, je vhodné mít uvozovky v podstatě všude. Možná se najde ještě pár dalších exotických situací, kde se uvozovky nehodí, ale moc jich nebude.
text='a b c d e' tokens=(${text}) # Tohle je ten speciální případ. other_tokens=("${tokens[@]}") # Kopírování pole má uvozovky.
Složené závorky jsou u proměnných, které nejsou pole, v podstatě dobrovolné, ale většinou je používám. Přijdou vhod třeba v případě, kdy člověk změní "${text} s mezerami"
na "${text}bez_mezer"
, protože zatímco "$text s mezerami"
funguje podle očekávání, "$textbez_mezer"
se se značnou pravděpodobností rozexpanduje na velké kulové.
Následuje ještě jeden příklad s poli a s uvozovkami. Expanze ${words[@]}
a ${words[*]}
dělají mimo uvozovky totéž, ale v uvozovkách se chovají odlišně.
words=(' a b ' ' c d ') for word in ${words[*]}; do echo "${word}" \| ${word}; done # 4 řádky for word in ${words[@]}; do echo "${word}" \| ${word}; done # 4 řádky for word in "${words[@]}"; do echo "${word}" \| ${word}; done # 2 řádky for word in "${words[*]}"; do echo "${word}" \| ${word}; done # 1 řádekZajímavé je též pořadí expanze v shellu — na první pohled nemusí být zřejmé, že přidání uvozovek do následujícího příkladu vůbec nic nezmění.
quotes=('"' '"' '"'); for i in ${quotes[@]}; do echo $i; done
Možná se najde ještě pár dalších exotických situací, kde se uvozovky nehodíExotických situací jako když máš v proměnné několik voleb programu? Ano, používat uvozovky všude, kde není zapotřebí word splitting, neškodí. Škodlivý je ovšem názor, že chtěný word splitting je cosi exotického. Je to příznak velkolepého formálního programování v shellu (ve srovnání se skriptováním), při kterém se nevyužívají silné stránky shellu, zato se složitě matlají věci, které ve vhodnějším jazyce fungují mnohem lépe.
Na druhé straně není nic horšího než matlání skriptů, které selžou při první neočekávané mezeře. Viděl jsem takových dost na to, abych byl skalním příznivcem uvozovek. Když chci mít v jedné proměnné víc optionů, je spousta důvodů pro použití pole, ve kterém se například option obsahující mezeru nerozdělí na dva. Pokud parsuju strukturovaná data, u kterých vím naprosto jistě, co je oddělovač a co ne, je to samozřejmě zcela jiná situace. Nejhorší je expandovat obyčejnou proměnnou obsahující parametry příkazové řádky, které mohou obsahovat jména souborů, která mohou obsahovat téměř libovolné bílé místo.
Tiskni
Sdílej: