abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 05:33 | Nová verze

    OpenTofu, tj. svobodný a otevřený fork Terraformu vzniknuvší jako reakce na přelicencování Terraformu z MPL na BSL (Business Source License) společností HashiCorp, bylo vydáno ve verzi 1.7.0. Přehled novinek v aktualizované dokumentaci. Vypíchnout lze State encryption.

    Ladislav Hagara | Komentářů: 0
    včera 23:55 | Humor

    Spouštět webový prohlížeč jenom kvůli nákupu kávy? Nestačí ssh? Stačí: ssh terminal.shop (𝕏).

    Ladislav Hagara | Komentářů: 2
    včera 18:11 | Nová verze

    Yocto Project byl vydán ve verzi 5.0. Její kódové jméno je Scarthgap. Yocto Project usnadňuje vývoj vestavěných (embedded) linuxových systémů na míru konkrétním zařízením. Cílem projektu je nabídnou vývojářům vše potřebné. Jedná se o projekt Linux Foundation.

    Ladislav Hagara | Komentářů: 0
    včera 17:56 | Nová verze

    Operační systém 9front, fork operačního systému Plan 9, byl vydán v nové verzi "do not install" (pdf). Více o 9front v FQA.

    Ladislav Hagara | Komentářů: 0
    včera 13:11 | Nová verze

    Svobodná webová platforma pro sdílení a přehrávání videí PeerTube (Wikipedie) byla vydána v nové verzi 6.1. Přehled novinek i s náhledy v oficiálním oznámení a na GitHubu. Řešeny jsou také 2 bezpečnostní chyby.

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

    Lennart Poettering na Mastodonu představil utilitu run0. Jedná se o alternativu k příkazu sudo založenou na systemd. Bude součástí systemd verze 256.

    Ladislav Hagara | Komentářů: 14
    29.4. 23:22 | Nová verze

    Hudební přehrávač Amarok byl vydán v nové major verzi 3.0 postavené na Qt5/KDE Frameworks 5. Předchozí verze 2.9.0 vyšla před 6 lety a byla postavená na Qt4. Portace Amaroku na Qt6/KDE Frameworks 6 by měla začít v následujících měsících.

    Ladislav Hagara | Komentářů: 11
    29.4. 21:44 | Komunita

    Ubuntu 24.10 bude Oracular Oriole (věštecká žluva).

    Ladislav Hagara | Komentářů: 12
    29.4. 20:22 | Nová verze

    Byla vydána nová verze 2.45.0 distribuovaného systému správy verzí Git. Přispělo 96 vývojářů, z toho 38 nových. Přehled novinek v příspěvku na blogu GitHubu a v poznámkách k vydání. Vypíchnout lze počáteční podporu repozitářů, ve kterých lze používat SHA-1 i SHA-256.

    Ladislav Hagara | Komentářů: 0
    29.4. 13:33 | IT novinky

    Před 25 lety, ve čtvrtek 29. dubna 1999, byla spuštěna služba "Úschovna".

    Ladislav Hagara | Komentářů: 0
    KDE Plasma 6
     (75%)
     (8%)
     (2%)
     (15%)
    Celkem 887 hlasů
     Komentářů: 4, poslední 6.4. 15:51
    Rozcestník

    Dotaz: Detekce terminálu

    3.3.2012 19:24 Romča
    Detekce terminálu
    Přečteno: 341×
    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.