Byla vydána nová verze 1.8.0 svobodného multiplatformního softwaru pro konverzi video formátů HandBrake (Wikipedie). Přehled novinek v poznámkách k vydání na GitHubu. Instalovat lze také z Flathubu.
Microsoft představil nové označení počítačů Copilot+. Dle oznámení se jedná se o počítače poskytující funkce umělé inteligence. Vedle CPU a GPU mají také NPU (Neural Processing Unit). Uvnitř představených Copilot+ notebooků běží ARM čipy Qualcomm Snapdragon X Elite nebo X Plus.
Příspěvek na blogu Codean Labs rozebírá zranitelnost CVE-2024-4367 v PDF.js, tj. mj. prohlížeči PDF souborů ve Firefoxu. Při otevření útočníkem připraveného pdf souboru může být spuštěn libovolný kód v JavaScriptu. Vyřešeno ve Firefoxu 126.
Lazygit byl vydán ve verzi 0.42.0. Jedná se o TUI (Text User Interface) nadstavbu nad gitem.
K open source herní konzole Picopad přibyla (𝕏) vylepšená verze Picopad Pro s větším displejem, lepšími tlačítky a větší baterii. Na YouTube lze zhlédnout přednášku Picopad - open source herní konzole z LinuxDays 2023.
Byla vydána (𝕏) nová major verze 17 softwarového nástroje s webovým rozhraním umožňujícího spolupráci na zdrojových kódech GitLab (Wikipedie). Představení nových vlastností i s náhledy a videi v oficiálním oznámení.
Sovereign Tech Fund, tj. program financování otevřeného softwaru německým ministerstvem hospodářství a ochrany klimatu, podpoří vývoj FFmpeg částkou 157 580 eur. V listopadu loňského roku podpořil GNOME částkou 1 milion eur.
24. září 2024 budou zveřejněny zdrojové kódy přehrávače Winamp.
Google Chrome 125 byl prohlášen za stabilní. Nejnovější stabilní verze 125.0.6422.60 přináší řadu oprav a vylepšení (YouTube). Podrobný přehled v poznámkách k vydání. Opraveno bylo 9 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Textový editor Neovim byl vydán ve verzi 0.10 (𝕏). Přehled novinek v příspěvku na blogu a v poznámkách k vydání.
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: