Svobodný a otevřený multiplatformní editor EPUB souborů Sigil (Wikipedie, GitHub) byl vydán ve verzi 2.5.0. Stejně tak doprovodný vizuální EPUB XHTML editor PageEdit (GitHub).
Na základě národního atribučního procesu vláda České republiky označila Čínskou lidovou republiku za zodpovědnou za škodlivou kybernetickou kampaň proti jedné z neutajovaných komunikačních sítí Ministerstva zahraničních věcí ČR. Tato škodlivá aktivita, která trvala od roku 2022 a zasáhla instituci zařazenou na seznam české kritické infrastruktury, byla provedena kyberšpionážní skupinou APT31, veřejně spojovanou se zpravodajskou službou Ministerstvo státní bezpečnosti (MSS).
Google Chrome 137 byl prohlášen za stabilní. Nejnovější stabilní verze 137.0.7151.55 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 11 bezpečnostních chyb. Vylepšeny byly také nástroje pro vývojáře.
Byl vydán AlmaLinux OS 10 s kódovým názvem Purple Lion. Podrobnosti v poznámkách k vydání. Na rozdíl od Red Hat Enterprise Linuxu 10 nadále podporuje x86-64-v2.
Byl vydán Mozilla Firefox 139.0. Přehled novinek v poznámkách k vydání a poznámkách k vydání pro vývojáře. Řešeny jsou rovněž bezpečnostní chyby. Nový Firefox 139 je již k dispozici také na Flathubu a Snapcraftu.
Byly publikovány výsledky průzkumu mezi uživateli Blenderu uskutečněného v říjnu 2024. Zúčastnilo se více než 7000 uživatelů. Téměř 93 % z nich například používá uživatelské rozhraní v angličtině.
Lukáš Růžička v článku RamaLama aneb vyháníme lamy na vlastní louku na MojeFedora.cz představuje open source nástroj RamaLama umožňující spouštět jazykové modely v izolovaných OCI kontejnerech, a to bezpečně, bez potřeby mít root přístup k počítači, s podporou GPU či CPU a bez zbytečných obtížností kolem.
Byl vydán Sublime Text 4 Build 4200. Sublime Text (Wikipedie) je proprietární multiplatformní editor textových souborů a zdrojových kódů. Ke stažení a k vyzkoušení je zdarma. Pro další používání je nutná licence v ceně 99 dolarů. Spolu se Sublime Merge je cena 168 dolarů.
Multiplatformní open source voxelový herní engine Luanti byl vydán ve verzi 5.12.0. Podrobný přehled novinek v changelogu. Původně se jedná o Minecraftem inspirovaný Minetest v říjnu loňského roku přejmenovaný na Luanti.
Armbian, tj. linuxová distribuce založená na Debianu a Ubuntu optimalizovaná pro jednodeskové počítače na platformě ARM a RISC-V, ke stažení ale také pro Intel a AMD, byl vydán ve verzi 25.5. Přehled novinek v Changelogu.
./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: