Byla vydána verze 18.04.0 KDE Aplikací (KDE Applications). Přehled novinek v kompletním seznamu změn a na stránce s dalšími informacemi.
Bylo oznámeno vydání nové stabilní verze 1.26 a beta verze 1.27 open source textového editoru Atom (Wikipedie). Přehled novinek i s náhledy v příspěvku na blogu. Podrobnosti v poznámkách k vydání.
Dle plánu byla dnes vydána hra Rise of the Tomb Raider (Wikipedie) pro Linux. Koupit ji lze za 49,99 €.
Společnost Oracle vydala čtvrtletní bezpečnostní aktualizaci svých softwarových produktů (CPU, Critical Patch Update). Opraveno bylo celkově 254 bezpečnostních chyb. V Oracle Java SE je například opraveno 14 bezpečnostních chyb. Vzdáleně zneužitelných bez autentizace je 12 z nich. V Oracle MySQL je opraveno 33 bezpečnostních chyb. Vzdáleně zneužitelné bez autentizace jsou 2 z nich.
Byla vydána verze 8.0 linuxové distribuce Trisquel GNU/Linux. Nejnovější verze Trisquel nese kódové jméno Flidas a bude podporována do roku 2021. Výchozím prostředím je nově MATE 1.12. Trisquel patří mezi svobodné distribuce doporučované Nadací pro svobodný software (FSF).
Byla vydána nová verze 27.9.0 webového prohlížeče Pale Moon (Wikipedie) vycházejícího z Firefoxu. Přehled novinek v poznámkách k vydání. Jedná se o poslední větší aktualizaci verze 27. Vývojáři se zaměří na novou verzi 28.
Google Chrome 66 byl prohlášen za stabilní (YouTube). Nejnovější stabilní verze 66.0.3359.117 tohoto webového prohlížeče přináší řadu oprav a vylepšení. Vylepšeny byly také nástroje pro vývojáře (YouTube). Opraveno bylo 62 bezpečnostních chyb.
Byla vydána druhá RC verze nové řady 2.10 svobodné aplikace pro úpravu a vytváření rastrové grafiky GIMP. Přehled novinek i s náhledy v oznámení o vydání.
Již tento čtvrtek (19. 4.) se v posluchárně 107 na Fakultě informačních technologií ČVUT v Praze Dejvicích odehraje večer s Turrisem, tentokrát zaměřený na nový modulární router MOX. Mluvit o něm budou Patrick Zandl a Ondřej Filip, ale bude i prostor pro dotazy a diskuzi s vývojáři. Akce začíná v 18:00 a plánovaný konec je v 19:45. Mapka, kde se nachází daná posluchárna, a možnost registrace je k dispozici na webu CZ.NIC.
Byla vydána nová stabilní verze 1.14.0 webového serveru a reverzní proxy nginx (Wikipedie). Verze 1.14.0 vychází rok po vydání verze 1.12.0 a přináší řadu nových vlastností. Zdůraznit lze modul mirror, HTTP/2 push a gRPC proxy. Podrobnosti v seznamu změn (CHANGES-1.14).
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: