Byl vydán Mozilla Firefox 140.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Dle plánu byla odstraněna ikona a integrace služby Pocket. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 140 je již k dispozici také na Flathubu a Snapcraftu.
Byla vydána (Mastodon, 𝕏) vývojová verze 3.1.2 příští stabilní verze 3.2 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP (GNU Image Manipulation Program). Přehled novinek v oznámení o vydání.
Na stránkách konference Den IPv6 2025, jež proběhla 6. června v Praze, byly zveřejněny prezentace (PDF) a videozáznamy přednášek.
Byla vydána verze 2.2.0 programovacího jazyka Kotlin (Wikipedie, GitHub). Ke zhlédnutí jsou videozáznamy přednášek z konference KotlinConf 2025.
V linuxových systémech byly odhaleny dvě závažné zranitelnosti – CVE-2025-6018 v rámci PAM (Pluggable Authentication Modules) a CVE-2025-6019 v knihovně libblockdev, kterou lze zneužít prostřednictvím služby udisks. Ta je součástí většiny běžně používaných distribucí, jako jsou Ubuntu, Debian nebo Fedora. Kombinací obou zranitelností může útočník s minimálním úsilím získat root přístup. Vzhledem k jednoduchosti zneužití
… více »OpenSSL Corporation zve na den otevřených dveří ve středu 20. srpna v Brně a konferenci OpenSSL od 7. do 9. října v Praze.
Něco z IT bulváru: Mark Russinovich pozval Billa Gatese, Linuse Torvaldse a Davida Cutlera na večeři a zveřejnil společné selfie. Linus se s Billem ani s Davidem do té doby nikdy osobně nesetkal. Linus a David měli na sobě červená polotrika. Mark a Bill byli v tmavém [LinkedIn].
Evropská unie nově prověřuje obchod, při němž americký miliardář Elon Musk prodal svou sociální síť X dříve známou jako Twitter vlastnímu start-upu xAI za 33 miliard dolarů (712 miliard Kč). Unijní regulační úřady zvažují, zda firmě X neudělit pokutu podle nařízení Evropské unie o digitálních službách (DSA).
Vývojáři postmarketOS vydali verzi 25.06 tohoto před osmi lety 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. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Svobodný kancelářský balík ONLYOFFICE (Wikipedie) byl vydán ve verzi 9.0. Jak online Docs, tak i offline Desktop Editors. Přehled novinek také na YouTube.
echo "$(echo /root/gen)"a tohle ne?
echo "$(</root/gen)"Dík
echo "$(echo /root/gen)"obsah souboru nevypíše, protože příkaz
echo
, dáte-li mu na příkazové řádce nějaký parametr, vypíše ten parametr (není-li to přepínač). Nesnaží se zjišťovat, zda to náhodou není soubor a dělat svévolně něco jako vypisování jeho obsahu (na to lze použít cat
), kopírování (na to je cp
) a podobně.
echo "$(</root/gen)"Tady už dáváte jak parametr obsah souboru (přesměrovaný na standardní vstup), takže tohle obsah souboru vypíše. Jednodušší by ale asi bylo prosté
cat /root/gen
echo "$(</root/gen)"mi obsah souboru stejně nevypíše, proč?
man bash
je to rychlejší skoroekvivalent $(cat /root/gen)
, takže pokud vám jde varianta s cat
a nejde varianta se standardním vstupem, pak nevím. Zkuste jiný stroj či jinou verzi Bash...? Nebo přidat mezeru mezi $(< /root/gen)
, nějaká verze by na to mohla být citlivá. Jinak nevím.
-n
...
</cesta/k/soboru
soubor nikdy nevypisoval. Je to prázný příkaz, jehož vstup je přesměrovaný ze souboru. Bash soubor otevře pro čtení a pak provede prázdný příkaz, tedy neudělá nic.
Konstrukce $(...)
či `...`
způsobí, že bash vezme příkaz, který v ní je, pustí ho, a jeho výstupem tuto konstrukci nahradí.
Takže výsledný příkaz echo $(</cesta/k/souboru)
vede k tomu, že se spustí prázdný příkaz, ten nic neudělá a jeho prázdný výstup se použije jako vstup příkazu echo. Ten při prázdném vstupu vypíše pouze ukončení řádku.
$(<soubor)
[*], a jdi klečet do kouta...
[*] Hint: je to tady: http://www.gnu.org/software/bash/manual/bashref.html#Command-Substitution
$(< soubor)
jako rychlejší ekvivalent konstrukce $(cat soubor)
. Je to tedy něco jiného, než "konstrukce < soubor
uzavřená v $()
". Podle mne je to special case. Podobně konstrukce > soubor
také může vypadat neškodně, nevipadá jako shrinker, ale... :)
Podle mne je to special case.Je to tak, máte pravdu.
Podobně konstrukce > soubor také může vypadat neškodně, nevipadá jako shrinker, ale... :)Ta je ale jasná a dělá přesně to, co > má dělat.
Takže výsledný příkaz echo $(</cesta/k/souboru)
vede k tomu, že se spustí prázdný příkaz, ten nic neudělá a jeho prázdný výstup se použije jako vstup příkazu echo. Ten při prázdném vstupu vypíše pouze ukončení řádku.
Jak už psal l4m4, to není pravda. Navíc dokumentace bashe, kterou linkoval, výslovně uvádí
The command substitution $(cat file) can be replaced by the equivalent but faster $(< file)
Ostatně stačí to prostě vyzkoušet, u mě - bash-4.2 - to funguje. Příkaz echo "$(< /etc/hosts)"
vypíše soubor /etc/hosts
Pavlixi, musíš dooufat, že se na to přes svátky zapomene. Pokud ne, máš cejch navždy :DJá těch cejchů už mám, ale jen tohoto si kobykly všimly :).
jj, mám v tom trochu hokej, ale tohleJakou verzi bashe máte?echo "$(</root/gen)"mi obsah souboru stejně nevypíše, proč?
echo ${BASH_VERSION}
Co dělá cat /root/gen
, nebo echo $(cat /root/gen)
? Tipoval bych na prastarou verzi bashe, nebo je ten soubor jednoduše prázdný.
Tiskni
Sdílej: