Společnost NVIDIA vydala verzi 13.0 toolkitu CUDA (Wikipedie) umožňujícího vývoj aplikací běžících na jejich grafických kartách. Přehled novinek v poznámkách k vydání.
Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 28. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.
Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za červenec (YouTube).
Konečně se ochladilo, možná i díky tomu přestaly na chvíli padat rakety jako přezrálé hrušky, díky čemuž se na Virtuální Bastlírně dostane i na jiná, přízemnější témata. Pokud si chcete jako každý měsíc popovídat s dalšími bastlíři, techniky, vědci a profesory u virtuálního pokecu u piva, Virtuální Bastlírna je tu pro Vás.
Ještě před ochlazením se drát na vedení V411 roztáhl o 17 metrů (přesné číslo není známé, ale drát nepřežil) a způsobil tak… více »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.
PixiEditor byl vydán ve verzi 2.0. Jedná se o multiplatformní univerzální all-in-one 2D grafický editor. Zvládne rastrovou i vektorovou grafiku, pixel art, k tomu animace a efekty pomocí uzlového grafu. Zdrojové kódy jsou k dispozici na GitHubu pod licencí GNU LGPL 3.0.
Byly představeny novinky v Raspberry Pi Connect for Organisations. Vylepšen byl protokol auditu pro lepší zabezpečení. Raspberry Pi Connect je oficiální služba Raspberry Pi pro vzdálený přístup k jednodeskovým počítačům Raspberry Pi z webového prohlížeče. Verze pro organizace je placená. Cena je 0,50 dolaru za zařízení za měsíc.
CISA (Cybersecurity and Infrastructure Security Agency) oznámila veřejnou dostupnost škálovatelné a distribuované platformy Thorium pro automatizovanou analýzu malwaru. Zdrojové kódy jsou k dispozici na GitHubu.
Ubuntu nově pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 3. snapshot Ubuntu 25.10 (Questing Quokka).
Společnost Proton AG stojící za Proton Mailem a dalšími službami přidala do svého portfolia Proton Authenticator. S otevřeným zdrojovým kódem a k dispozici na všech zařízeních. Snadno a bezpečně synchronizujte a zálohujte své 2FA kódy. K používání nepotřebujete Proton Account.
./moj-skript.sh >/dev/null
do konzoly vypisal len chybu a do suboru vsetko a ./moj-skript.sh
by vypisal vsetko do konzoly aj suboru.
Skript moj-skript.sh:
#!/bin/sh # # nejako nastavene presmerovanie stdout a stderr do suboru moj-skript.log # a zaroven presmerovanie stderr na konzolu ??? /bin/ls /etc/fstab /bin/ls /nonexistsVystup skriptu
$ ./moj-skript.sh ls: /nonexists: No such file or directoryObsah log suboru moj-skript.log
/etc/fstab ls: /nonexists: No such file or directoryVdaka.
Řešení dotazu:
Tohle dělá, co chceš:
#!/bin/sh funkce() { /bin/ls /etc/fstab /bin/ls /nonexists } mkfifo out.fifo mkfifo err.fifo mkfifo xxx.fifo cat out.fifo > xxx.fifo & cat err.fifo | tee xxx.fifo & cat xxx.fifo > xxx.log & funkce 1> out.fifo 2> err.fifo wait wait wait rm -f out.fifo err.fifo xxx.fifo
Ale nelíbí se mi to, říkám si, že by to mělo jít jednodušeji…
Navíc je tam problém s úklidem při nějaké chybě a s tím, že se ti můžou zprávy zapsané do STDOUT a STDERR prolnout.
Můžeš to rozvést?
V Bashi jde dosadit proces místo cesty k souboru, otázka je, jak ty výstupy pak zase spojit do jednoho… Možná nějak adaptovat tenhle příklad… ale tohle jsou docela zběsilosti – do toho článku jsem to dával spíš jako odstrašující příklad :-)
P.S. Tak trochu funguje tohle:
funkce 2> >(tee -a xxx.log) >> xxx.log
ale nelíbí se mi ten zápis do jednoho souboru ze dvou procesů bez jakékoli synchronizace…
#!/bin/sh log=moj-skript.log for file in /etc/fstab /nonexists; do /bin/ls $file >> $log 2>&1 tail -1 $log | grep "^/bin/ls: " done
( ./moj-skript.sh 2> >( tee /dev/stderr ) | sed '' ) > moj-skript.logTen
sed
zajišťuje bufferování řádku podobné tomu, které se používá u výstupu na terminál. stderr zůstává stderr.
enable -f
Ten exec
se normálně používá, ale problém je, že on tady chce STDERR rozdvojit, jednou ho poslat na terminál a jednou ho spojit s STDOUT a společně poslat do souboru.
V tom modulu bys musel řešit to samé – číst současně ze dvou FD a data z jednoho posílat na terminál a data z obou posílat do souboru.
#!/bin/bash # ( echo "INFO: log iba do suboru" ls /etc/fstab echo "ERROR: log do suboru aj na konzolu" >&2 ls /nonexists echo "INFO: log iba do suboru" echo "ERROR: log do suboru aj na konzolu" >&2 ) 2> >( tee /dev/stderr ) | sed '' > moj-skript.logVdaka.
Případně se to ještě řeší tak, že na začátek skriptu dáš IF, ve kterém zkontroluješ nějakou proměnnou, pokud není nastavená, tak ji nastavíš a spustíš sám sebe s tím přesměrováním:
#!/bin/bash if [ -z "$XXX" ]; then export XXX=x; echo "spouštím s přesměrováním"; "$0" "$@" &>1; fi echo "původní skript"; echo "parametry: " "$@";
Tohle se hodí i v případě, že potřebuješ potřebuješ třeba přepsat nebo doplnit nějaké CLI parametry.
Tiskni
Sdílej: