openSUSE Leap 16.1 vstoupil do RC fáze. Nově lze instalovat jako standardní systém (Standard) nebo jako neměnný systém s atomickými aktualizacemi (Immutable). Samostatná neměnná distribuce openSUSE Leap Micro končí.
Byl vydán Mozilla Firefox 157.0. S nejvýraznější vizuální proměnou za poslední roky. 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 157 bude brzy k dispozici také na Flathubu a Snapcraftu.
Rodina produktů Raspberry Pi se rozšířila o Raspberry Pi Smart Display Module. Deska pro Raspberry Pi Compute Module 5 se zasouvá přímo do displejů dle specifikace Intel SDM. Cena desky je 30 dolarů.
Byla vydána nová verze 2.56.0 distribuovaného systému správy verzí Git. Přispělo 104 vývojářů, z toho 39 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání.
Hackerská skupina ShinyHunters oznámila průnik do informačních systémů FBI, prostřednictvím zero-day zranitelnosti v platformě Oracle PeopleSoft, kterou úřad využívá mimo jiné pro náborový portál FBIJobs.gov. Útočníci tvrdí, že získali až 3 TB dat o současných i bývalých zaměstnancích a uchazečích o práci. Jako důkaz zveřejnili vzorek přibližně 5 000 záznamů obsahující jména, adresy, telefonní čísla, data narození, čísla
… více »Doba kompilace linuxového jádra se díky rychlejšímu hardwaru a optimalizacím kbuildu snižuje k deseti sekundám. Nejnovější patche Lorenza Stoakse (vznikají i s pomocí SI) zkrátily na testovacím stroji dobu sestavení z dlouhých 22 vteřin na pouhých 15, a to bez použití RAMdisku. Testovací systém tvořily dva procesory AMD EPYC 9575F (oba dohromady poskytují celkem 128 jader a 256 vláken), čtyřiadvacet 64GB DDR5-6400 paměťových modulů a
… více »Před rokem a půl vývojáři postmarketOS informovali, že pro projekt hledají nové jméno. Včera bylo oznámeno: postmarketOS se nově jmenuje Nura.
Hra Factorio dorazila na Printables. Hned teď si můžete stáhnout 65 různých modelů a nechat celou mimozemskou planetu oživnout na svém stole.
GNU Project Debugger aneb GDB byl vydán ve verzi 18.1. Podrobný přehled novinek v souboru NEWS.
Prezident USA Donald Trump během svého projevu na valném shromáždění OSN 22. září 2026 prohlásil, že umělá inteligence 'bude dále oficiálně nazývána superinteligencí', zkráceně SI. Svůj návrh zdůvodnil takto: 'Použití slova artificial činí inteligenci falešnou. Ona falešná není, ve skutečnosti je úžasná'. Zároveň ve svém proslovu prohlásil, že Spojené státy kategoricky odmítají jakékoliv pokusy o vytvoření 'globalistického
… více »./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: