Byla vydána nová verze 3.5.0 svobodné implementace protokolu RDP (Remote Desktop Protocol) a RDP klienta FreeRDP. Přehled novinek v ChangeLogu. Opraveno bylo 6 bezpečnostních chyb (CVE-2024-32039, CVE-2024-32040, CVE-2024-32041, CVE-2024-32458, CVE-2024-32459 a CVE-2024-32460).
Google Chrome 124 byl prohlášen za stabilní. Nejnovější stabilní verze 124.0.6367.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 22 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Byla vydána nová verze 9.3 z Debianu vycházející linuxové distribuce DietPi pro (nejenom) jednodeskové počítače. Přehled novinek v poznámkách k vydání. Novinkou je vlastní repozitář DietPi APT.
Byl vydán Mozilla Firefox 125.0.1, první verze z nové řady 125. Přehled novinek v poznámkách k vydání, poznámkách k vydání pro firmy a na stránce věnované vývojářům. Vypíchnout lze podporu kodeku AV1 v Encrypted Media Extensions (EME). Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 125.0.1 je již k dispozici také na Flathubu a Snapcraftu.
Valkey, tj. svobodný fork již nesvobodného Redisu, byl vydán v první stabilní verzi 7.2.5.
Společnost Espressif Systems oznámila, že rodinu SoC ESP32 brzy rozšíří o ESP32-H4 s IEEE 802.15.4 a Bluetooth 5.4 (LE) s podporou protokolů Thread 1.3, Zigbee 3.0 a Bluetooth Mesh 1.1.
Kevin Bentley zveřejnil na GitHubu zdrojové kódy počítačové hry Descent 3 z roku 1999: "Někdo se nedávno zeptal, zda budou zveřejněny zdrojové kódy Descent 3. Oslovil jsem svého bývalého šéfa (Matt Toschlog) z Outrage Entertainment a ten mi to povolil. Budu pracovat na tom, aby se to znovu rozběhlo a hledám spolusprávce." [Hacker News]
Byla vydána verze 0.81 telnet a ssh klienta PuTTY. Opravena je kritická bezpečnostní chyba CVE-2024-31497 obsažena ve verzích 0.68 až 0.80. Používáte-li klíč ECDSA NIST P521 a použili jste jej v PuTTY nebo Pageantu, považujte jej za kompromitovaný.
Hra MineClone2 postavena nad voxelovým herním enginem Minetest byla přejmenována na VoxeLibre.
Společnosti Avast Software s.r.o. byla pravomocně uložena pokuta ve výši 351 milionů Kč. Tu uložil Úřad pro ochranu osobních údajů za neoprávněné zpracování osobních údajů uživatelů jejího antivirového programu Avast a jeho rozšíření internetových prohlížečů (Browser Extensions), k čemuž docházelo prokazatelně po část roku 2019.
… více »cat soubor|while read FROM TO
do
echo $FROM $TO
done
echo $FROM $TO # 1. tohle uz netiskne proc?
2. jak promennou dostat ven z cyklu aby posledni prikaz chodil?
diky!
Protože FROM TO je na konci cyklu prázdné (konec souboru), čili nemá co tisknout.
|
pousti subshell a nelze propagovat promenne ze subshellu do nadrazeneho shellu. Musis si udelat pomocny soubor a do nej promenne vypsat a po skonceni cyklu zase precist.
[babjak][~/tmp/while][17:35:14] ls input.txt script.sh* [babjak][~/tmp/while][17:37:17] cat input.txt a b c d e [babjak][~/tmp/while][17:37:19] ./script.sh input.txt From: 'a' To: 'b' From: 'c' To: 'd e' [babjak][~/tmp/while][17:37:28] cat script.sh #! /bin/sh while read FROM TO ; do echo "From: '${FROM}' To: '${TO}'" done < "${1}" [babjak][~/tmp/while][17:37:33]
[babjak][~/tmp/while][17:43:58] cat input.txt a b c d e [babjak][~/tmp/while][17:44:00] ./script.sh input.txt Inside From: 'a' To: 'b' Inside From: 'c' To: 'd e' Outside From: 'c' To: 'd e' [babjak][~/tmp/while][17:44:09] cat script.sh #! /bin/sh while read FROM TO ; do echo "Inside From: '${FROM}' To: '${TO}'" X="${FROM}" Y="${TO}" done < "${1}" echo "Outside From: '${X}' To: '${Y}'"Problem je v tom, ze v povodnom skripte v skutocnosti ten posledny riadok skutocne vypysuje obsah premennych
FROM
a TO
. Treba si vsak uvedomit, ze ked sa slucka while read ...
vykonala posledny krat, bol dosiahnuty koniec suboru a do tychto premennych sa nacitalo ... chvila prekvapenia ... nic.
< soubor while read ... ;do ...Pokud máte něco složitějšího (sed, nebo nějakou delší rouru), lze ve vykonávání programu pokračovat v subshellu, včetně jeho výhod (tj. proměnných):
dlouha | roura | ( while read ...; do ... zde je cyklus, v něm něco nastavím ... ; done ... zde je další zpracování -- ve stejném subshellu ... používám nastavené proměnné z cyklu ... )Tímto se vyhnete použití dočasných souborů.
while read line; do echo $line last=$line done < <(cat /etc/passwd | cut -d : -f 1) echo last: $last
$ < <(cat /etc/passwd | cut -d : -f 1) tac ftp messagebus nobody pht root
while read; do echo $REPLY; done <<<"hokus pokus"také neobrátíte.
The following redirection operators may precede or appear anywhere within a simple command or may follow a command.tj. před lze dát jen v případě, že to není cyklus, závorka, apod. Čili by nefungoval ani mnou navrhovaný jednoduchý "< soubor", což je škoda.
set -- `echo a b c`A premenne $1 $2 a $3 budu obsahovat a, b, c.
Tiskni Sdílej: