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 17:33 | Pozvánky

    V neděli 17. května 2026 proběhne v Českých Budějovicích první MobileLinux Hackday zaměřený na Linux v mobilech, embedded platformy a open source hardware. Po sedmi úspěšných měsíčních setkáních v Praze se akce přesouvá také do jižních Čech, aby se komunita mobilního Linuxu mohla potkat i mimo hlavní město. Akce se uskuteční v konferenčním sále Vajgar v Clarion Congress Hotelu (Pražská tř. 2306/14) se zahájením mezi 14:00 až 15:00 a … více »

    lkocman | Komentářů: 0
    dnes 15:00 | Komunita

    Vývojáři Debianu zhruba v polovině vývojového cyklu Debianu 14 s kódovým názvem Forky rozhodli, že Debian musí dodávat reprodukovatelné balíčky, tj. kdokoli si může nezávisle ověřit, že daný binární balíček vznikl překladem a sestavením z konkrétních zdrojových kódů. Aktuálně je reprodukovatelných 98,29 % balíčků.

    Ladislav Hagara | Komentářů: 0
    dnes 14:11 | Bezpečnostní upozornění

    Německý e-shop Škoda Auto byl hacknut. Útočníci získali přístup k uživatelským údajům (jméno, adresa, e-mail, heslo, telefon, …).

    Ladislav Hagara | Komentářů: 2
    dnes 11:22 | Pozvánky

    Na webu konference Den IPv6 2026, která se uskuteční 4. června v Národní technické knihovně v pražských Dejvicích, je nyní k dispozici kompletní program této tradiční akce věnované tématům spojeným s protokolem IPv6. Na celodenní pásmo přednášek je třeba se přihlásit a zaplatit účastnický poplatek 242 korun. Registrační formulář najdou zájemci opět na webu akce. Konferenci Den IPv6 2026 organizují i letos společně sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 1
    včera 23:33 | Zajímavý software

    Byl představen emulátor terminálu Ratty (GitHub) s podporu 3D grafiky přímo v terminálu. Inspirací byl operační systém TempleOS od Terryho Davise. Ratty je napsán v jazyce Rust. Využívá knihovnu Ratatui pro tvorbu rozhraní a herní engine Bevy pro 3D vykreslování.

    Ladislav Hagara | Komentářů: 4
    včera 17:55 | IT novinky

    Evropské instituce i některé americké státy dál zpřísňují pravidla pro ověřování věku na internetu. Cílem je zabránit dětem v přístupu k obsahu pro dospělé. Úřady ale narážejí na zásadní problém – stále více lidí používá VPN, tedy služby umožňující skrýt identitu i skutečnou polohu na internetu. Právě VPN nyní Evropská parlamentní výzkumná služba (EPRS) označila za „mezeru v legislativě, kterou je potřeba uzavřít“ [Novinky.cz].

    Ladislav Hagara | Komentářů: 30
    včera 17:22 | Nová verze

    Multiplatformní open source aplikace pro psaní poznámek Joplin (Wikipedie) byla vydána v nové verzi 3.6. Nově lze mít v poznámkách embedovaný externí obsah, např. YouTube videa.

    Ladislav Hagara | Komentářů: 2
    včera 16:44 | Komunita

    Open Hardware Summit 2026 organizovaný OSHWA (Open Source Hardware Association) proběhne o víkendu 23. a 24. května v Berlíně na Technické univerzitě Berlín.

    Ladislav Hagara | Komentářů: 0
    včera 16:33 | Nová verze

    Navigace se soukromím CoMaps postavena nad OpenStreetMap byla vydána v nové verzi 2026.05.06. Přibyla možnost aktualizovat mapy v aplikaci CoMaps, aniž by bylo nutné aktualizovat i verzi aplikace. CoMaps je komunitní fork aplikace Organic Maps.

    Ladislav Hagara | Komentářů: 1
    10.5. 05:11 | Nová verze

    OCCT3D (Open CASCADE Technology) Open Source 8.0 bylo vydáno. OCCT3D (Wikipedie, GitHub) je objektově orientovaná knihovna pro 3D CAD, CAM nebo CAE. Používá se například v softwarech FreeCAD a KiCad.

    Ladislav Hagara | Komentářů: 5
    Které desktopové prostředí na Linuxu používáte?
     (13%)
     (8%)
     (2%)
     (14%)
     (31%)
     (4%)
     (7%)
     (3%)
     (16%)
     (25%)
    Celkem 1592 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník

    Návratový kód v PS1

    3.9.2009 13:50 | Přečteno: 1726× | Výběrový blog

    Včerejší sklizeň mě přiměla podělit se o jedno drobné vylepšení shellu které mě provází už značně dlouho.

    Pro ty, co už na roota definitivně zanevřeli: v blbinkách byla zmíněna vtipná modifikace PS1 - smajlík který usmívá nebo mračí podle toho, jaký byl návratový kód posledního příkazu. Jako blbinka je to skvělé, ale pro praktické využití to má chybičky. Za prvé, nemám rád když se mi shellový příkaz zalamuje, takže šetřím každým znakem. Několika znakový smajlík je zbytečný. Ba co víc, signalizovat úspěch není vůbec potřeba. Naopak v případě neúspěchu by se hodilo vidět celý kód, a ne jen že je nenulový. A co je nejhorší, řešení s příkazy v PS1 nebo použití prompt_command znamená vyvolávání zbytečného podprocesu. Naštěstí samotný shell poskytuje všechno potřebné pro mnohem jednodušší řešení. Tady je (fanfára):

    ${?/#0/}

    Dejte si to někam do PS1 a je hotovo. Je to jen expanze proměnné, žádný podproces se nespouští. Čtyři z pěti lachtanů doporučují obložit to nějakým výrazným obarvením, takže vznikne něco podobného následujícímu:

    \[\033[01;32m\]\u@\h\[\033[01;34m\] \w \[\033[01;31m\]${?/#0/}\[\033[01;34m\]\$\[\033[00m\]

    Jestli vás zajímá jak to funguje, hledejte v manstránce bashe. Podobných skrytých perel je tam více.

           

    Hodnocení: 100 %

            špatnédobré        

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

    Komentáře

    Vložit další komentář

    3.9.2009 14:41 eoj
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    \u \h \w \$ ? To je teda setreni znaku.
    Prcek avatar 3.9.2009 14:49 Prcek | skóre: 43 | Jindřichův Hradec / Brno
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Tak zase člověk z toho promptu musí vyčíst nějaký užitečný informace, já třeba nemám rád, když je jako cesta napsaný jen aktuální adresář, k čemu mi to je? Já potřebuju vidět celou cestu.
    Člověk je takový, jak vypadá... A já vypadám jako pravá, nefalšovaná děvka!!!
    Michal Fecko avatar 3.9.2009 14:52 Michal Fecko | skóre: 31 | blog: Poznámkový blog
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Zlozvyky z Okien... odporučan príkaz pwd
    Prcek avatar 3.9.2009 15:03 Prcek | skóre: 43 | Jindřichův Hradec / Brno
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    To bych neřekl, ve Windows jsem se do příkazové řádky stěží kdy podíval. Prostě je to pohodlnější, mít tu informaci rovnou na očích, než pořád vypisovat do terminálu pwd. Kdybych to měl dělat pokaždý, když zapomenu, kde jsem v adresářové struktuře, tak se upíšu :-).
    Člověk je takový, jak vypadá... A já vypadám jako pravá, nefalšovaná děvka!!!
    3.9.2009 15:04 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Zvlášť když má člověk puštěných třeba deset terminálů zaráz, že :-)
    multi avatar 3.9.2009 15:15 multi | skóre: 38 | blog: JaNejsemOdsut
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    asi myslel zlozvyk z pruzkumniku

    jinak me osobne prave upla cesta dost vadi, koor kdyz je to na solarisech s jejich dlouhymi a hroznymi nazvy adresaru

    jinak nejoptimalnejsi, vzhledem k tomu ze clovek je stejne hl v domovskem adresari je, kdyz se cesta zkrati pomoci "~/"
    Michal Fecko avatar 3.9.2009 15:35 Michal Fecko | skóre: 31 | blog: Poznámkový blog
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Nie - myslel som Windows terminal...
    Prcek avatar 3.9.2009 17:33 Prcek | skóre: 43 | Jindřichův Hradec / Brno
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Tak v domovským adresáři se cesta samozřejmě zkracuje pomocí ~, tak to je asi všude, ne?
    Člověk je takový, jak vypadá... A já vypadám jako pravá, nefalšovaná děvka!!!
    Václav 3.9.2009 15:58 Václav "Darm" Novák | skóre: 26 | blog: Darmovy_kecy | Bechyně / Praha
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Na to je nejlepší ZSH a jeho dva prompty.

    Osobně to mám na pravé straně termu aktuální cestu, s tím že když k ní dopíšu příkaz, celá pravá část promptu zmizí
    Cross my heart and hope to fly, stick a cupcake in my eye!
    Marek Bernát avatar 3.9.2009 17:39 Marek Bernát | skóre: 17 | blog: Arcadia
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Ja to mám presne tak isto, ale nevedel som, že je to špeciálna vlastnosť zsh. V bashi sa to nedá? Booo, odpad :-)
    physics.stackexchange.com -- Q&A stránky o fyzike v štýle StackOverflow.
    3.9.2009 15:04 Jan Grmela | skóre: 45 | blog: Kilo šťávy z lachtana | Brno
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Moc pěkné, díky. Doplním si o to svůj stále stejný letitý prompt.
    3.9.2009 15:47 Semo | skóre: 45 | blog: Semo
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Pekne, fakt pekne. Tiez som sa tym po tej spravicke 15 minut hral, ale nenapadlo ma riesenie bez dalsieho procesu (nemenil by dokonca ten dalsi proces aj hodnotu $?, takze by uz presna hodnota ani nesla zistit?).
    If you hold a Unix shell up to your ear, you can you hear the C.
    mirec avatar 3.9.2009 17:21 mirec | skóre: 32 | blog: mirecove_dristy | Poprad
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    function smail {
            if [ $? = 0 ]; then
                    echo -ne '\033[00;32m:)\033[01;34m'
            else
                    echo -ne '\033[01;31m:(\033[01;34m'
            fi
    }
    
    if [[ ${EUID} == 0 ]] ; then
            PS1='`smail` \[\033[01;31m\]\h\[\033[01;34m\] \W \$\[\033[00m\] '
    else
            PS1='`smail` \[\033[01;32m\]\u@\h\[\033[01;34m\] \w \$\[\033[00m\] '
    fi
    rulez
    LinuxOS.sk | USE="-fotak -zbytocnosti -farebne_lcd +vydrz +odolnost +java" emerge telefon
    rADOn avatar 6.9.2009 20:53 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    hezky ale backticky jsou totez jako $() cili zase se pousti dalsi shell a tomu je IMO lepe se vyhnout
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    frEon avatar 4.9.2009 16:34 frEon | skóre: 40 | Praha
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    husty, dik
    Talking about music is like dancing to architecture.
    vogo avatar 23.12.2009 20:45 vogo | skóre: 34 | blog: "Skládat papír"
    Rozbalit Rozbalit vše Re: Návratový kód v PS1
    Příloha:
    $ cat /etc/profile.d/prompt.sh
    #!/bin/bash
    bash_prompt_command() {
            local LAST=$?
            if [ ${LAST} -eq 0 ]; then
                    LAST=''
            else
                    LAST="[\[\033[1;31m\]${LAST}\[\033[0m\]\[\033[1;30m\]]"
            fi
    
            local TIME=`date +%H:%M`
            local pwdmaxlen=20
            local trunc_symbol="..."
            local dir=${PWD##*/}
            pwdmaxlen=$(( ( pwdmaxlen < ${#dir} ) ? ${#dir} : pwdmaxlen ))
            local SHORT_PWD=${PWD/#$HOME/\~}
            local pwdoffset=$(( ${#SHORT_PWD} - pwdmaxlen))
    
            if [ ${pwdoffset} -gt "3" ]; then
                    SHORT_PWD=${SHORT_PWD:$pwdoffset:$pwdmaxlen}
                    SHORT_PWD=${trunc_symbol}/${SHORT_PWD#*/}
            fi
    
            if [ "$TERM" = "xterm" -o "$TERM" = "xterm-color" -o "$TERM" = "rxvt" -o "$TERM" = "xterm-xfree86" ]; then
                    echo -ne "\033]0;${USER}@${HOSTNAME%%.*}:${PWD/$HOME/~}\007"
            fi
    
            if [ "$UID" = "0" ]; then
                    local USER_HOST="\[\033[1;31m\]\h"
            else
                    local USER_HOST="\[\033[1;32m\]\u\[\033[1;34m\]@\h"
            fi
    
            PS1="\[\033[1;30m\][\[\033[0;35m\]${TIME}\[\033[1;30m\]][${USER_HOST} \[\033[1;33m\]${SHORT_PWD}\[\033[1;30m\]]${LAST}\\$\[\033[0m\] "
    }
    PROMPT_COMMAND=bash_prompt_command
    
    
    nejlepší prompt
    Nejsem paranoidní, ale to ještě neznamená, že po mě nejdou.

    Založit nové vláknoNahoru

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