Spolek OpenAlt zve příznivce otevřených řešení a přístupu na 209. brněnský sraz, který proběhne tento pátek 16. května od 18:00 ve studentském klubu U Kachničky na Fakultě informačních technologií Vysokého učení technického na adrese Božetěchova 2/1. Jelikož se Brno stalo jedním z hlavních míst, kde se vyvíjí open source knihovna OpenSSL, tentokrát se OpenAlt komunita potká s komunitou OpenSSL. V rámci srazu Anton Arapov z OpenSSL
… více »GNOME Foundation má nového výkonného ředitele. Po deseti měsících skončil dočasný výkonný ředitel Richard Littauer. Vedení nadace převzal Steven Deobald.
Byl publikován přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie) za uplynulé dva měsíce. Servo zvládne už i Gmail. Zakázány jsou příspěvky generované pomocí AI.
Raspberry Pi Connect, tj. oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče, byla vydána v nové verzi 2.5. Nejedná se už o beta verzi.
Google zveřejnil seznam 1272 projektů (vývojářů) od 185 organizací přijatých do letošního, již jednadvacátého, Google Summer of Code. Plánovaným vylepšením v grafických a multimediálních aplikacích se věnuje článek na Libre Arts.
Byla vydána (𝕏) dubnová aktualizace aneb nová verze 1.100 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.100 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Open source platforma Home Assistant (Demo, GitHub, Wikipedie) pro monitorování a řízení inteligentní domácnosti byla vydána v nové verzi 2025.5.
OpenSearch (Wikipedie) byl vydán ve verzi 3.0. Podrobnosti v poznámkách k vydání. Jedná se o fork projektů Elasticsearch a Kibana.
PyXL je koncept procesora, ktorý dokáže priamo spúštat Python kód bez nutnosti prekladu ci Micropythonu. Podľa testov autora je pri 100 MHz približne 30x rýchlejší pri riadeni GPIO nez Micropython na Pyboard taktovanej na 168 MHz.
Grafana (Wikipedie), tj. open source nástroj pro vizualizaci různých metrik a s ní související dotazování, upozorňování a lepší porozumění, byla vydána ve verzi 12.0. Přehled novinek v aktualizované dokumentaci.
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: