Společnost IBM představila server IBM LinuxONE Emperor 5 poháněný procesorem IBM Telum II.
Byla vydána verze 4.0 multiplatformního integrovaného vývojového prostředí (IDE) pro rychlý vývoj aplikaci (RAD) ve Free Pascalu Lazarus (Wikipedie). Přehled novinek v poznámkách k vydání. Využíván je Free Pascal Compiler (FPC) 3.2.2.
Podpora Windows 10 končí 14. října 2025. Připravovaná kampaň Konec desítek (End of 10) může uživatelům pomoci s přechodem na Linux.
Již tuto středu proběhne 50. Virtuální Bastlírna, tedy dle římského číslování L. Bude L značit velikost, tedy více diskutujících než obvykle, či délku, neboť díky svátku lze diskutovat dlouho do noci? Bude i příští Virtuální Bastlírna virtuální nebo reálná? Nejen to se dozvíte, když dorazíte na diskuzní večer o elektronice, softwaru, ale technice obecně, který si můžete představit jako virtuální posezení u piva spojené s učenou
… více »Český statistický úřad rozšiřuje Statistický geoportál o Datový portál GIS s otevřenými geografickými daty. Ten umožňuje stahování datových sad podle potřeb uživatelů i jejich prohlížení v mapě a přináší nové možnosti v oblasti analýzy a využití statistických dat.
Kevin Lin zkouší využívat chytré brýle Mentra při hraní na piano. Vytváří aplikaci AugmentedChords, pomocí které si do brýlí posílá notový zápis (YouTube). Uvnitř brýlí běží AugmentOS (GitHub), tj. open source operační systém pro chytré brýle.
Jarní konference EurOpen.cz 2025 proběhne 26. až 28. května v Brandýse nad Labem. Věnována je programovacím jazykům, vývoji softwaru a programovacím technikám.
Na čem aktuálně pracují vývojáři GNOME a KDE Plasma? Pravidelný přehled novinek v Týden v GNOME a Týden v KDE Plasma.
Před 25 lety zaplavil celý svět virus ILOVEYOU. Virus se šířil e-mailem, jenž nesl přílohu s názvem I Love You. Příjemci, zvědavému, kdo se do něj zamiloval, pak program spuštěný otevřením přílohy načetl z adresáře e-mailové adresy a na ně pak „milostný vzkaz“ poslal dál. Škody vznikaly jak zahlcením e-mailových serverů, tak i druhou činností viru, kterou bylo přemazání souborů uložených v napadeném počítači.
# 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 fiObsah/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 lineA 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: