Omarchy (Wikipedie) je linuxová distribuce s dlaždicovým správcem oken Hyprland. Založena je na Arch Linuxu. Vydána byla v nové verzi 4.5.0. Nově také pro Apple Silicon, konkrétně pro M1/M2/M3/Neo MacBooky.
Byla vydána nová stabilní verze 8.3 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 156 s bezpečnostními opravami z Chromia 157. Přehled novinek i s náhledy v příspěvku na blogu.
Multimediální přehrávač mpv byl vydán ve verzi 0.42.0. Jde o větší balík změn po bezmála roce. Mimo jiné se lépe integruje s Waylandem nebo rozšiřuje podporu DVD/Blu-ray, např. umožňuje přehrávat rovnou obrazy médií (soubory iso).
Desktopové prostředí LXQt (Lightweight Qt Desktop Environment, Wikipedie) vzniklé sloučením projektů Razor-qt a LXDE bylo vydáno ve verzi 2.5.0. Přehled novinek v poznámkách k vydání.
Byla vydána (𝕏) nová verze 8.0 LTS open source monitorovacího systému Zabbix (Wikipedie). Přehled novinek v oznámení na webu, v poznámkách k vydání a v aktualizované dokumentaci.
Byla vydána verze R14.1.7 desktopového prostředí Trinity Desktop Environment (TDE, fork KDE 3.5, Wikipedie). Přehled novinek v poznámkách k vydání, podrobnosti v seznamu změn.
Bazzite (Wikipedie), tj. linuxová distribuce vycházející z Fedora Linuxu a optimalizována pro hraní počítačových her, byla vydána ve verzi 45. S Open Gaming Collective (OGC) jádrem a novým Easy Anti-Cheatem pro Linux (EAC Linux v2).
MikroTik zveřejnil vlastní bezpečnostní upozornění potvrzující, že zranitelnost linuxového jádra postihuje také RouterOS 7. Jde o use-after-free při zpracování IPv4 TCP spojení s IP options. Zranitelnost se týká provozu směřujícího na TCP službu samotného routeru, nikoli paketů, které router pouze přeposílá. Opraveno v long-term od 7.24.6, v stable od 7.25.1 a devel od 7.26beta5.
Ve správci balíčků APT, používaném v Debianu a odvozených distribucích, byla nalezena a opravena kritická zranitelnost CVE-2026-109518. Vzdálený útočník může obejít ověření stažených balíčků pomocí přesměrování a dočasných chyb HTTP serveru.
# delete remote files (if enabled)
if [ "x$delete_remote" = "x1" ]; then
while read line; do
file="$(echo $line | awk -F';' '{ print $2 }')"
if [ ! -f "$file" ]; then
azcopy remove "$url/$file?$sas" >/dev/null <=== toto ukonci cyklus pri prvej zhode
echo "azcopy remove \"$url/$file?$sas\" >/dev/null" <=== ak to nahradim tymto, tak je to ok
test $? -ne 0 && error=1
fi
done < $remote_files_list
fi
Obsah/format suboru $remote_files_list (prve je nazov, druhe je velkost):
;aaa/a1;0; ;aaa/a2;0; ;aaa/a3;0; ;bbb/b1;0; ;bbb/b2;0; ;bbb/b3;0;Lokalne subory:
aaa/a1 aaa/a2 aaa/a3takze by v azure malo postupne po jednotlivych suboroch vymazat cely adresar bbb. Ked spustim shell v debug mode:
+ [ x1 = x1 ]
+ read line
+ echo ;aaa/a1;0;
+ awk -F; { print $2 }
+ file=aaa/a1
+ [ ! -f aaa/a1 ]
+ read line
+ echo ;aaa/a2;0;
+ awk -F; { print $2 }
+ file=aaa/a2
+ [ ! -f aaa/a2 ]
+ read line
+ echo ;aaa/a3;0;
+ awk -F; { print $2 }
+ file=aaa/a3
+ [ ! -f aaa/a3 ]
+ read line
+ echo ;bbb/b1;0;
+ awk -F; { print $2 }
+ file=bbb/b1
+ [ ! -f bbb/b1 ]
+ azcopy remove https://azure.storage.url/path/to/bbb/b1
+ test 0 -ne 0
+ read line
A cyklus sa ukonci (skript potom pokracuje dalej).
Netusite, cim by to mohlo byt?
Vdaka.
Řešení dotazu:
$(azcopy remove "$url/$file?$sas" >/dev/null) test $? -ne 0 && error=1Tipuju ze to zhavaruje a vezme sebou celou smycku.
exec azcopy remove ..., /bin/sh -c "/usr/bin/azcopy remove ...", eval $(echo "azcopy remove ..."), nic, stale sa cyklus ukonci po prvom odstraneni suboru, a azcopy skonci bez chyby (je to vidno aj v tom debugu).
Co ma napada je, ze azcopy nejakym sposobom "vymaze" data predane while cyklu. Je to mozne?
Skusim este stace.
azcopy ... < /dev/null
(azcopy remove "$url/$file?$sas" >/dev/null)
for miesto while a uz to funguje.
while read line; do ... done < $remote_files_listsom pouzil
for line in $(cat $remote_files_list); do ... donea toto funguje.
cat /proc/cpuinfo | while read l; do echo $l; cat - > /dev/null; doneTohle je obecně věc co nevím jak by se v Bashi měla řešit -- for cyklus nejde dělat když má člověk v těch věcech mezery (a současně chce původní IFS), u while je příjemné, že čte po řádcích. Ale zase to má tenhle problém.
Tohle je obecně věc co nevím jak by se v Bashi měla řešit
A o minutu později jsi sám řešení navrhl. :-)
Mimochodem, konstrukce
cmd | while read v; do ... ; done
má ještě jeden háček: while cyklus se při ní provádí v subshellu, takže proměnné nastavené v těle cyklu se nedostanou "ven" (nelze takto předávat hodnoty zbytku skriptu). Naštěstí to bash umožňuje obejít pomocí
while read v; do ... ; done < <( cmd )
Tiskni
Sdílej: