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í
×
    včera 18:55 | Humor

    Jak na webu co nejšíleněji zadávat datum? Jak to uživatelům co nejvíce znepříjemnit? V Bad UX World Cup 2025 (YouTube) se vybíraly ty nejšílenější UX návrhy. Vítězným návrhem se stal Perfect Date.

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

    Společnost Collabora vydala (YouTube) na LibreOffice založený desktopový kancelářský balík Collabora Office. Pro Windows, macOS a Linux. Se stejným uživatelským rozhraním jako Collabora Online. Svůj desktopový kancelářský balík s rozhraním LibreOffice pojmenovala Collabora Office Classic.

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

    Glen MacArthur vydal AV Linux (AVL) a MX Moksha (MXM) 25. S linuxovým jádrem Liquorix. AV Linux (Wikipedie) je linuxová distribuce optimalizována pro tvůrce audio a video obsahu. Nejnovější AV Linux vychází z MX Linuxu 25 a Debianu 13 Trixie. AV Linux přichází s desktopovým prostředím Enlightenment 0.27.1 a MX Moksha s prostředím Moksha 0.4.1 (fork Enlightenmentu).

    Ladislav Hagara | Komentářů: 0
    27.11. 17:55 | Nová verze

    Ubuntu pro testování nových verzí vydává měsíční snapshoty. Dnes vyšel 1. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).

    Ladislav Hagara | Komentářů: 0
    27.11. 14:33 | IT novinky

    Zástupci členských států EU se včera shodli na návrhu, který má bojovat proti šíření materiálů na internetu zobrazujících sexuální zneužívání dětí. Nařízení známé pod zkratkou CSAM a přezdívané chat control mělo množství kritiků a dlouho nebyla pro jeho schválení dostatečná podpora. Pro schválení byla potřeba kvalifikovaná většina a dánské předsednictví v Radě EU se snažilo dosáhnout kompromisu. Návrh nakonec po dlouhých týdnech

    … více »
    Ladislav Hagara | Komentářů: 12
    27.11. 12:22 | Zajímavý software

    Britské herní studio Facepunch stojící za počítačovými hrami Garry's Mod a Rust uvolnilo svůj herní engine s&box (Wikipedie) jako open source. Zdrojové kódy jsou k dispozici na GitHubu pod licencí MIT. Herní engine s&box je postavený nad proprietárním herním enginem Source 2 od společnosti Valve.

    Ladislav Hagara | Komentářů: 1
    27.11. 04:55 | Komunita

    Vývoj programovacího jazyka Zig byl přesunut z GitHubu na Codeberg. Sponzoring na Every.

    Ladislav Hagara | Komentářů: 6
    27.11. 04:44 | Komunita

    Stejně jako GNOME i KDE Plasma končí s X11. KDE Plasma 6.8 poběží už pouze nad Waylandem. Aplikace pro X11 budou využívat XWayland.

    Ladislav Hagara | Komentářů: 3
    26.11. 14:55 | IT novinky

    Poslanci Evropského parlamentu dnes vyzvali k výraznému zvýšení ochrany nezletilých na internetu, včetně zákazu vstupu na sociální sítě pro osoby mladší 16 let. Legislativně nezávazná zpráva, kterou dnes odsouhlasil Evropský parlament poměrem 493 hlasů pro ku 92 proti, kromě zavedení věkové hranice 16 let pro využívání sociálních sítí, platforem pro sdílení videí či společníků s umělou inteligencí (AI) vyzývá také k zákazu … více »

    Ladislav Hagara | Komentářů: 52
    26.11. 14:11 | Humor

    Doom v KiCadu nebo na osciloskopu? Žádný problém: KiDoom: Running DOOM on PCB Traces a ScopeDoom: DOOM on an Oscilloscope via Sound Card.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (16%)
     (24%)
     (16%)
     (18%)
    Celkem 417 hlasů
     Komentářů: 17, poslední 19.11. 21:57
    Rozcestník

    Dotaz: Zjištění oddlílu podle current adresáře

    16.1.2018 20:55 MilanC | skóre: 16
    Zjištění oddlílu podle current adresáře
    Přečteno: 291×
    Ahoj, snažím se vyřešit takovou věc. Cílem je zobrazovat jako součást promptu (rw) nebo (ro) podle toho, jestli je příslušný systém, na kterém se aktuálně nacházím mountnutý v ro/rw.

    Takže jsem poeditoval /etc/bash.bashrc

    set_bash_prompt() { fs_mode=$(mount | sed -n -e "s/^\/dev\/.* on \/ .*(\(r[w|o]\).*/\1/p") if [ "$fs_mode" == 'ro' ]; then PS1='\u@\h\[\033[01;31m\]${fs_mode:+($fs_mode)}\[\033[00m\]:\w\$ ' # elif [ "$fs_mode" == 'rw' ]; then # PS1='\u@\h\[\033[01;32m\]${fs_mode:+($fs_mode)}\[\033[00m\]:\w\$ ' fi }

    PROMPT_COMMAND=set_bash_prompt

    Má to ale jeden háček, nereflektuje to změnu adresáře. Např. když jsem na rw a udělám cd /boot (oddíl, který je ro), tak stále ukazuje rw. Háček je v tom zjišťování fs_mode, kde parsuje jen z root FS (/). Potřeboval bych nějak docílit, aby byl reflektován vždy aktuální adresář, tj. z něho zjištěn oddíl (správný řádek z mount). Tedy nějaký příkaz, jehož vstupem bude cesta a výstupem mountpoint, který mi pak poslouží při výběru správného řádku z mount (a zjištění ro/rw). Snad jsem to popsal srozumitelně.

    Děkuji za nápady.

    Řešení dotazu:


    Odpovědi

    16.1.2018 21:24 Kit | skóre: 46 | Brno
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Místo
    mount | sed ...
    zkus dát
    ls -ld .|cut -c 2,3
    Aktuální oddíl se dá zjistit příkazem
    df .
    Oříznutý výsledek můžeš použít jako filtr do svého sedu.
    Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
    Josef Kufner avatar 16.1.2018 21:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    if awk -v mountpoint=$(df --output=target --no-sync . | tail -1) '$2 == mountpoint { exit $4 ~ "^ro(,|$)"; }' /proc/mounts
    then
        echo rw
    else
        echo ro
    fi
    Hello world ! Segmentation fault (core dumped)
    16.1.2018 22:09 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Díky, pochopil jsem tuto část, která vrátí mountpoint do proměnné

    mountpoint=$(df --output=target --no-sync . | tail -1)

    Ale awk moc neumím. :( pak passneš tu variable mountpoint do awku, ale pak mi už moc není jasné co s čím porovnáváš. Dalo by se případně udělat, aby byl výstup ro/rw jako v tom původním případě? I když je to asi jedno. Zatím mi to ale nechce fungovat.
    16.1.2018 22:22 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Děkuji, funguje. :-) Ještě bych si dovolil poprosit o jednu radu s proměnnou.
            if awk -v mountpoint=$(df --output=target --no-sync . | tail -1) '$2 == mountpoint { exit $4 ~ "^ro(,|$)"; }' /proc/mounts
            then
                    FSPERM="[\033[01;32m\](rw)\[\033[00m\]"
            else
                    FSPERM="[\033[01;31m\](ro)\[\033[00m\]"
            fi
    
            PS1='\u@\h\$FSPERM:\w\$ '
    
    Ať to zkouším jakkoli, tímto stylem se nebarví, ale vypisuje se obsah FSPERM. Zkoušel jsem třeba ${FSPERM}, PS1 dát do "..", naopak FSPERM do ' ' a různé kombinace. Lze to takto udělat nebo musím celé ty PS1 i s barvou dát do každé části podmínky? Děkuji.
    16.1.2018 22:31 MilanC | skóre: 16
    Rozbalit Rozbalit vše Re: Zjištění oddlílu podle current adresáře
    Tak už to mám. Děkuji oběma! Využil jsem nápovědy na Tvém webu (hacking-bash), takže řešení je... :-)
    PS1='\u@\h\'$FSPERM':\w\$ '
    

    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.