V uplynulých dnech byla v depu Českých drah v Brně-Maloměřicích úspěšně dokončena zástavba speciální antény satelitního internetu Starlink od společnosti SpaceX do jednotky InterPanter 660 004 Českých drah. Zástavbu provedla Škoda Group. Cestující se s InterPanterem, vybaveným vysokorychlostním satelitním internetem, setkají například na linkách Svitava Brno – Česká Třebová – Praha nebo Moravan Brno – Břeclav – Přerov – Olomouc.
Byla vydána nová verze 8.7.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.
Před 30 lety, k 1. 7. 1995, byl v ČR liberalizován Internet - tehdejší Eurotel přišel o svou exkluzivitu a mohli začít vznikat první komerční poskytovatelé přístupu k Internetu [𝕏].
Byla vydána (𝕏) nová verze 7.4 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.
Balíček s příkazem sudo byl vydán ve verzi 1.9.17p1. Řešeny jsou zranitelnosti CVE-2025-32462 (lokální eskalace práv prostřednictvím volby host) a CVE-2025-32463 (lokální eskalace práv prostřednictvím volby chroot).
Do služeb Seznam.cz se lze nově přihlásit pomocí služby MojeID [𝕏].
Bezpečnostní výzkumníci zveřejnili informace o osmi zranitelnostech, které postihují více než 700 modelů tiskáren, skenerů a štítkovačů značky Brother. Bezpečnostní upozornění vydali také další výrobci jako Fujifilm, Ricoh, Konica Minolta a Toshiba. Nejzávažnější zranitelnost CVE-2024-51978 umožňuje útočníkovi vzdáleně a bez přihlášení získat administrátorská oprávnění prostřednictvím výchozího hesla, které lze odvodit ze
… více »Společnost Oracle vlastní ochrannou známku JAVASCRIPT. Komunita kolem programovacího jazyka JavaScript zastoupena společností Deno Land vede právní bitvu za její osvobození, viz petice a otevřený dopis na javascript.tm. Do 7. srpna se k nim má vyjádřit Oracle (USPTO TTAB).
Byl představen samostatný rádiový modul Raspberry Pi Radio Module 2 s Wi-Fi a Bluetooth.
Certifikační autorita Let’s Encrypt ukončila k 4. červnu zasílání e-mailových oznámení o vypršení platnosti certifikátů. Pokud e-maily potřebujete, Let’s Encrypt doporučuje některou z monitorovacích služeb.
./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: