Google zveřejnil seznam 1220 projektů od 195 organizací (Debian, GNU, openSUSE, Linux Foundation, Haiku, Python, …) přijatých do letošního, již dvacátého, Google Summer of Code.
Na základě DMCA požadavku bylo na konci dubna z GitHubu odstraněno 8535 repozitářů se zdrojovými kódy open source emulátoru přenosné herní konzole Nintendo Switch yuzu.
Webový prohlížeč Dillo (Wikipedie) byl vydán ve verzi 3.1.0. Po devíti letech od vydání předchozí verze 3.0.5. Doména dillo.org již nepatří vývojářům Dilla.
O víkendu probíhá v Bostonu, a také virtuálně, konference LibrePlanet 2024 organizovaná nadací Free Software Foundation (FSF).
Nová vývojová verze Wine 9.8 řeší mimo jiné chybu #3689 při instalaci Microsoft Office 97 nahlášenou v roce 2005.
Coppwr, tj. GUI nástroj pro nízkoúrovňové ovládání PipeWire, byl vydán v nové verzi 1.6.0. Zdrojové kódy jsou k dispozici na GitHubu. Instalovat lze také z Flathubu.
Byla vydána dubnová aktualizace aneb nová verze 1.89 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a animovanými gify v poznámkách k vydání. Vypíchnout lze, že v terminálu lze nově povolit vkládání kopírovaného textu stisknutím středního tlačítka myši. Ve verzi 1.89 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Proton, tj. fork Wine integrovaný v Steam Play a umožňující v Linuxu přímo ze Steamu hrát hry určené pouze pro Windows, byl vydán ve verzi 9.0-1 (𝕏). Přehled novinek se seznamem nově podporovaných her na GitHubu. Aktuální přehled her pro Windows běžících díky Protonu také na Linuxu na stránkách ProtonDB.
Byla vydána verze 1.78.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání na GitHubu. Vyzkoušet Rust lze například na stránce Rust by Example.
Služba Dropbox Sign (původně HelloSign) pro elektronické podepisování smluv byla hacknuta.
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: