abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 13:22 | Komunita

    Vývoj linuxové distribuce Clear Linux (Wikipedie) vyvíjené společností Intel a optimalizováné pro jejich procesory byl oficiálně ukončen.

    Ladislav Hagara | Komentářů: 1
    včera 14:00 | Zajímavý článek

    Byl publikován aktuální přehled vývoje renderovacího jádra webového prohlížeče Servo (Wikipedie).

    Ladislav Hagara | Komentářů: 0
    včera 12:00 | Nová verze

    V programovacím jazyce Go naprogramovaná webová aplikace pro spolupráci na zdrojových kódech pomocí gitu Forgejo byla vydána ve verzi 12.0 (Mastodon). Forgejo je fork Gitei.

    Ladislav Hagara | Komentářů: 0
    17.7. 18:44 | Zajímavý článek

    Nová čísla časopisů od nakladatelství Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 155 (pdf) a Hello World 27 (pdf).

    Ladislav Hagara | Komentářů: 1
    17.7. 16:11 | Nová verze

    Hyprland, tj. kompozitor pro Wayland zaměřený na dláždění okny a zároveň grafické efekty, byl vydán ve verzi 0.50.0. Podrobný přehled novinek na GitHubu.

    Ladislav Hagara | Komentářů: 2
    17.7. 15:55 | Komunita

    Patrick Volkerding oznámil před dvaatřiceti lety vydání Slackware Linuxu 1.00. Slackware Linux byl tenkrát k dispozici na 3,5 palcových disketách. Základní systém byl na 13 disketách. Kdo chtěl grafiku, potřeboval dalších 11 disket. Slackware Linux 1.00 byl postaven na Linuxu .99pl11 Alpha, libc 4.4.1, g++ 2.4.5 a XFree86 1.3.

    Ladislav Hagara | Komentářů: 5
    16.7. 21:22 | IT novinky

    Ministerstvo pro místní rozvoj (MMR) jako první orgán státní správy v Česku spustilo takzvaný „bug bounty“ program pro odhalování bezpečnostních rizik a zranitelných míst ve svých informačních systémech. Za nalezení kritické zranitelnosti nabízí veřejnosti odměnu 1000 eur, v případě vysoké závažnosti je to 500 eur. Program se inspiruje přístupy běžnými v komerčním sektoru nebo ve veřejné sféře v zahraničí.

    Ladislav Hagara | Komentářů: 19
    16.7. 16:22 | IT novinky

    Vláda dne 16. července 2025 schválila návrh nového jednotného vizuálního stylu státní správy. Vytvořilo jej na základě veřejné soutěže studio Najbrt. Náklady na přípravu návrhu a metodiky činily tři miliony korun. Modernizovaný dvouocasý lev vychází z malého státního znaku. Vizuální styl doprovází originální písmo Czechia Sans.

    Ladislav Hagara | Komentářů: 26
    16.7. 15:33 | Upozornění

    Vyhledávač DuckDuckGo je podle webu DownDetector od 2:15 SELČ nedostupný. Opět fungovat začal na několik minut zhruba v 15:15. Další služby nesouvisející přímo s vyhledáváním, jako mapyAI asistent jsou dostupné. Pro některé dotazy během výpadku stále funguje zobrazování například textu z Wikipedie.

    bindiff | Komentářů: 8
    16.7. 13:33 | Bezpečnostní upozornění

    Více než 600 aplikací postavených na PHP frameworku Laravel je zranitelných vůči vzdálenému spuštění libovolného kódu. Útočníci mohou zneužít veřejně uniklé konfigurační klíče APP_KEY (např. z GitHubu). Z více než 260 000 APP_KEY získaných z GitHubu bylo ověřeno, že přes 600 aplikací je zranitelných. Zhruba 63 % úniků pochází z .env souborů, které často obsahují i další citlivé údaje (např. přístupové údaje k databázím nebo cloudovým službám).

    Ladislav Hagara | Komentářů: 6
    Kolik tabů máte standardně otevřeno ve web prohlížeči?
     (17%)
     (33%)
     (17%)
     (0%)
     (0%)
     (0%)
     (0%)
     (33%)
    Celkem 6 hlasů
     Komentářů: 3, poslední dnes 17:26
    Rozcestník

    Dotaz: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    7.8.2020 17:18 GeorgeWH | skóre: 42
    Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Přečteno: 456×
    Zdravim.

    Uz sa s tym piplam dve hodiny a nic. Mam sh (nie bash) skript, ktoreho standardny a error vystup chcem ulozit do suboru a zaroven na konzolu vypisat len error hlasky. Skusal som kadejake variacie s exec, ale stale som mal bud vsetko v konzole a prazdny subor alebo naopak alebo nikde nic...

    Najlepsie by bolo, keby bolo vsetko vyriesene v skripte, ale uspokojil by som sa aj s variantou, ked by napr. ./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 /nonexists
    
    Vystup skriptu
    $ ./moj-skript.sh
    ls: /nonexists: No such file or directory
    
    Obsah log suboru moj-skript.log
    /etc/fstab
    ls: /nonexists: No such file or directory
    
    Vdaka.

    Řešení dotazu:


    Odpovědi

    xkucf03 avatar 7.8.2020 17:48 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    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ám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.8.2020 19:32 GeorgeWH
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Ten ls bol len na demonstraciu pozadovaneho vysledku. Robit taketo upravy je dost nerealne.
    xkucf03 avatar 7.8.2020 20:58 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    Pak asi tohle: #4, případně tam ještě přidat ten sed z #7.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.8.2020 17:49 pavele
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    tee
    xkucf03 avatar 7.8.2020 17:58 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    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 :-)

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    xkucf03 avatar 7.8.2020 18:12 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    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…

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    7.8.2020 19:17 jejda | skóre: 25 | blog: jejda
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Taky si můžeš ten error z logu jednoduše grepnout.
    #!/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
    7.8.2020 19:54 jiwopene | skóre: 31 | blog: Od každého trochu…
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    ( ./moj-skript.sh 2> >( tee /dev/stderr ) | sed '' ) > moj-skript.log
    Ten sed zajišťuje bufferování řádku podobné tomu, které se používá u výstupu na terminál. stderr zůstává stderr.
    .sig virus 3.2_cz: Prosím, okopírujte tento text do vaší patičky.
    7.8.2020 21:45 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Vysledok je ok, ale potreboval by som to dostat priamo do toho skriptu, aby ho jednoducho stacilo spustit a aby to bolo hlavne blbovzdorne.
    Jendа avatar 7.8.2020 22:07 Jendа | skóre: 78 | blog: Jenda | JO70FB
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Jsem zagůglil bash replace stdout of current script a první odkaz říká že by na začátku mělo jít udělat exec a>b a to efektivně změní všechen výstup skriptu.

    A před tím první, co mě napadlo bez googlení, bylo napsat si modul do bashe, který nahradí file deskriptory 1 a 2, a zavést ho pomocí enable -f :-D
    xkucf03 avatar 7.8.2020 22:16 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    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.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes
    Řešení 1× (GeorgeWH (tazatel))
    7.8.2020 22:09 GeorgeWH | skóre: 42
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly
    Tak uz to mam, stacilo to supnut do skriptu a nie je to az take zle. Akurat to funguje len v bash-i, ale tak co uz (vsetky skripty sa snazim pisat v shell-i):
    #!/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.log
    
    Vdaka.
    xkucf03 avatar 7.8.2020 22:26 xkucf03 | skóre: 49 | blog: xkucf03
    Rozbalit Rozbalit vše Re: Presmerovanie stdout len do suboru a stderr do suboru aj konzoly

    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.

    Mám rád, když se lidé přou, znamená to, že vědí, co dělají, a že mají směr. Frantovo.cz, SQL-DK, Relational pipes

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.