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 16:44 | Nová verze

    Byl vydán Mozilla Firefox 154.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 154 bude brzy k dispozici také na Flathubu a Snapcraftu.

    Ladislav Hagara | Komentářů: 0
    dnes 14:33 | Nová verze

    Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 168 (pdf).

    Ladislav Hagara | Komentářů: 0
    dnes 11:55 | Nová verze

    Open-source citační manažer Zotero (Wikipedie, GitHub) byl vydán v nové major verzi 10. Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    dnes 00:44 | Nová verze

    Interaktivní editor binárních dat GNU poke byl vydán ve verzi 5.0 (seznam změn).

    |🇵🇸 | Komentářů: 8
    včera 18:55 | Nová verze

    Byla vydána verze 0.85 telnet a ssh klienta PuTTY (Wikipedie). Řešeno je 5 zranitelností.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Zajímavý článek

    Byly publikovány novinky z vývoje GIMPu. Pracuje se na novém formátu souborů. Stávající binární XCF bude nahrazen "zazipovaným XML". XCF zůstane plně podporován pouze pro načítání starých souborů.

    Ladislav Hagara | Komentářů: 7
    včera 12:33 | Zajímavý projekt

    Workshop o umělé inteligenci v Dartmouthu proběhl před 70 lety, od 18. června do 17. srpna 1956. Dvouměsíční soustředění 6–11 informatiků, iniciované Johnem McCarthym, položilo základy oboru umělé inteligence.

    |🇵🇸 | Komentářů: 5
    včera 03:00 | Nová verze

    Po 9 týdnech vývoje od vydání Linuxu 7.1 oznámil Linus Torvalds vydání Linuxu 7.2. Podrobný přehled novinek a vylepšení na Linux Kernel Newbies nebo LWN.net: první a druhá polovina začleňovacího okna.

    Ladislav Hagara | Komentářů: 1
    16.8. 18:55 | Komunita

    Debian dnes slaví 33 let. Ian Murdock oznámil vydání "Debian Linux Release" 16. srpna 1993.

    Ladislav Hagara | Komentářů: 1
    16.8. 04:22 | Komunita

    Probíhá hlasování o používání LLM při vývoji Debianu. Vývojáři Debianu mají na výběr 9 možností (návrhy A až H a žádný z nich).

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (10%)
     (7%)
     (2%)
     (18%)
     (30%)
     (7%)
     (6%)
     (2%)
     (15%)
     (22%)
    Celkem 2416 hlasů
     Komentářů: 31, poslední 13.8. 00:27
    Rozcestník


    Dotaz: Detekce terminálu

    3.3.2012 19:24 Romča
    Detekce terminálu
    Přečteno: 509×
    Dobrý den, v projektu mám bod:
    "Na standardní chybový výstup je zapsáno "$TEST: $RESULT\n", kde: $TEST je cesta adresáře obsahující cmd-given relativní k TEST_DIR (v kanonickém tvaru bez prefixu ./). $RESULT je OK, pokud jsou soubory {stdout,stderr,status}-delta prázdné; v opačném případě FAILED."
    -toto mám a pak další bod
    Pokud je standardní chybový výstup připojen na terminál, jsou řetězce OK vypisovány zeleně a řetězce FAILED vypisovány červeně.
    Nevím, co to přesně znamená a jak to detekovat, resp. jakou zadat podmínku pro barevný výpis. Našla jsem pro testování:
    -t fd deskriptor fd je spojen s terminálem
    ale nevím, jak to použít, ani jestli je to správné řešení.

    Odpovědi

    3.3.2012 19:28 Romča
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Zapomněla jsem napsat, že je to v bashi.
    3.3.2012 20:47 pavel
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Pokud není proměnná $TERM prázdná, pak:
    bash_prikaz 1> >(while read line; do echo -e "\e[01;32m$line\e[0m"; done) 2> >(while read line; do echo -e "\e[01;31m$line\e[0m"; done)
    
    3.3.2012 19:56 l4m4
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Je to správné řešení a použiješ to
    if test -t 2; then
      # stderr is a tty
    else
      # stderr is not a tty
    fi
    
    Pokud jde o barvení, tak ho lze udělat snadno za předpokladu dnes běžného terminálu, i.e. použít natvrdo běžné escape sekvence pro barvy. Nebo správně pro všechny terminály, což vyžaduje dotázat se databáze informací o terminálech na vlastnosti toho, do kterého to vypisuje.

    Snadné řešení vypadá třeba:
    echo $'\e[31mRoses are red\e[0m\n\e[32mMould is green\e[0m'
    Správné vyžaduje vzít výstup (např.)
    tput fcolor
    správně ho rozparsovat, doplnit na vyznačená místa číslo barvy a použít... V shellu dost opruz.
    3.3.2012 20:01 Petr
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Ahoj,

    ten test na -t vypada podle manualu vcelku schudne...

    ... pricemz stdin ma fd = 0, stdout fd = 1, stderr fd = 2 ...

    Napr:
    if [ -t 1 ]
    then
    vypis barevne
    else
    vypis nebarevne ;o)
    fi
    
    3.3.2012 20:24 Romča
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Přesně to jsem si myslela, jen teď nevím, jak otestovat, že to funguje :)
    3.3.2012 20:40 Petr
    Rozbalit Rozbalit vše Re: Detekce terminálu
    Napriklad muzes standardni chybovy vystup presmerovat do souboru (./nazev_tveho_scirptu 2> ./soubor.log)
    3.3.2012 21:09 Romča
    Rozbalit Rozbalit vše Re: Detekce terminálu
    vyborne, to funguje, dík
    3.3.2012 20:30 Romča
    Rozbalit Rozbalit vše Re: Detekce terminálu
    resp. jak docílit toho, že se to nevytiskne barevně

    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.